网站建设资讯

NEWS

网站建设资讯

c语言判断文件状态的函数 判断文件是否存在的函数

C语言,判断一个文件是否存在

你贴的这个函数PathFileExists并不是C语言提供的库函数,而是windows系统提供的系统调用,如果你是初学者,尽量用C语言提供的库函数来实现功能,你可以这样:

创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站建设、成都网站建设, 我们的网页设计师为您提供的解决方案。

int exist(char *file) //传入想要判断的路径字符串指针

{

FILE *fp;

fp=fopen(file,"r"); //fopen是一个C库函数,用于打开文件,"r"是只读模式,在这种模式下,如果文件存在,则能成功以只读模式打开,fopen返回一个非0的文件描述符,如果文件不存在,则fopen返回NULL(NULL意思是空)。正好可以利用这一点来判断文件是否存在

if(fp=NULL)

return 0; //不存在返回0

else

{

fclose(fp); //存在的话,要先把之前打开的文件关掉

return 1; //然后返回1

}

}

这样,你就可用这里定义的exist函数判断文件是否存在了。比如

if(exist("a.txt")==0)printf("不存在!");

else printf("存在!");

如果你真想用PathFileExists这个函数,那么也很简单,LPCTSTR你可以简单理解为就相当于char*,这是windows封装的一个数据类型。_in是一个修饰符,表示参数是传入给PathFileExists用的而不是由PathFileExists传出来的。这个函数可以这样用:

if(PathFileExists("a.txt")==FALSE)printf("不存在!");

else printf("存在!");

用这个函数时注意加头文件windows.h

有问题请继续追问啊

c语言中feof是什么意思

feof是一个c语言函数,既可用以判断二进制文件又可用以判断文本文件。feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0。

EOF是文件结束标志的文件。在文本文件中,数据是以字符的ASCⅡ代码值的形式存放,ASCⅡ代码的范围是0到255,不可能出现-1,因此可以用EOF作为文件结束标志。

当把数据以二进制形式存放到文件中时,就会有-1值的出现,因此不能采用EOF作为二进制文件的结束标志。为解决这一个问题,ASCI C提供一个feof函数,用来判断文件是否结束。

扩展资料:

feof的正确写法:

在VC里,只有当文件位置指针(fp-_ptr)到了文件末尾,然后再发生读/写操作时,标志位(fp-_flag)才会被置为含有_IOEOF。然后再调用feof(),才会得到文件结束的信息。

因此,如果运行如下程序:

char c;

while(!feof(fp))

{

c = fgetc(fp);

printf("%X/n", c);

}

会发现多输出了一个FF,原因就是在读完最后一个字符后,fp-flag仍然没有被置为_IOEOF,因而feof()仍然没有探测到文件结尾。直到再次调用fgetc()执行读操作,feof()才能探测到文件结尾。这样就多输出了一个-1(即FF)。

正确的写法应该是:

char c;

c = fgetc(fp);

while(!feof(fp))

{

printf("%X/n", c); 

c = fgetc(fp);

}

参考资料来源:百度百科-feof

求C语言中feof的用法

feof(文件流指针) ,不到结尾返回0,否则返回1 就一个判断状态的函数 FILE *fp=fopen。。。。 打开成功才能调用该函数 这个状态检测是当文件读取函数发生读失败才会出现

判断文件是否存在 c语言 函数

排版後如下: int access(const char* szPathName){ #ifdef _WIN32 if ( _access(szPathName, 0) != 0 ) return -1; #else if ( access(szPathName, F_OK) != 0 ) return -1; #endif return 0; } 這是用到 preprocessor. 用在跨平台(platform)的各種編譯器. 各平台的 .h 會不同. 在微軟的平台會定義 _WIN32 這個符號. 所以這段話就成為 int access(const char* szPathName){ if ( _access(szPathName, 0) != 0 ) return -1; return 0; } 在其它平台不會定義 _WIN32 這個符號. 所以這段話就成為 int access(const char* szPathName){ if ( access(szPathName, F_OK) != 0 ) return -1; return 0; }


文章题目:c语言判断文件状态的函数 判断文件是否存在的函数
网站链接:http://cdweb.net/article/dochhoc.html