C语言判断文件是否存在 用函数access,头文件是io.h,原型: int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。 这个函数还可以检查其它文件属性: 06 检查读写权限 04 检查读权限 02 检查写权限 01 检查执行权限 00 检查文件的存在性 在UNIX和VC下实验成功。 好处是 fopen(..,"r")不好,当无读权限时一不行了。 而这个就算这个文件没有读权限,也可以判断这个文件存在于否 存在返回0,不存在返回-1 #include <stdio.h> int main() { printf ("%d",access("111",0)); -------------------------------------------------------------------------------------------- #include <io.h> #include <stdio.h> #include <stdlib.h> void main( void ) { /* Check for existence */ if( (_access( "ACCESS.C", 0 )) != -1 ) { printf( "File ACCESS.C exists/n" ); /* Check for write permission */ if( (_access( "ACCESS.C", 2 )) != -1 ) printf( "File ACCESS.C has write permission/n" ); } } Output File ACCESS.C exists File ACCESS.C has write permission ------------------------------------------------------------------------------------------- #include <stdio.h> #include <io.h> int file_exists(char *filename); int main(void) { printf("Does NOTEXIST.FIL exist: %s/n", file_exists("NOTEXISTS.FIL") ? "YES" : "NO"); return 0; } int file_exists(char *filename) { return (access(filename, 0) == 0); } #include <iostream> #include <fstream> using namespace std; #define FILENAME "stat.dat" int main() { fstream _file; _file.open(FILENAME,ios::in); if(!_file) { cout<<FILENAME<<"没有被创建"; } else { cout<<FILENAME<<"已经存在"; } return 0; } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/roger_77/archive/2007/03/23/1538447.aspx