[C/C++] 判斷檔案是否存在 file_exists

在 PHP 函式裡面,有直接 file_exists 可以使用,相當方便:
在 C 裡面該如何實做?有兩種方式如下:

1. 直接開檔

bool file_exists(const char * filename)
{
    if (FILE * file = fopen(filename, "r"))
    {
        fclose(file);
        return true;
    }
    return false;
}
C++ 寫法
std::fstream foo;

foo.open("bar");

if(foo.is_open() == true)
     std::cout << "Exist";
else 
     std::cout << "Doesn't Exist";[/code]

2. 讀取檔案狀態

#include int file_exists (char * fileName) { struct stat buf; int i = stat ( fileName, &buf ); /* File found */ if ( i == 0 ) { return 1; } return 0; }
  • wupojung

    C++ 寫法 會有問題啊~~
    如果不存在.. foo.open 的時候就會當了~~ QQ