C语言怎么判断文件是否为空

C语言怎么判断文件是否为空,第1张

文件为空时 只有文件结束符EOF

当读取第一个字符是槐孙EOF时即可判断文件是不是空

#include <stdio.h>

#include <stdlib.h>

void main()

{

FILE *fp

char ch

if((fp=fopen("1.txt","r"))==NULL)

{

printf("Error!\闷明团n")

exit(0)

}

ch=fgetc(fp)

if(ch==EOF)

printf("文件为空\n")

else

printf("文件不为空\n"蚂橘)

}

ch就是获取到的文件里面的内容

fgetc(fp)这个函数就是获取文件内容的函数

从文件头开始 一直取到文件尾。。每调用这个函数一次 就会取出文件中的下一个字符 一直到文件尾为止

其中你的那个1.txt要放在和你程序相同的文件夹内

1.个人认为,判断文件内容为空可以从两个角度来考虑,第一种是读取文件的内容,读到的内容是否为空字符串;第二键顷型种是直接判断文件的大小。

伪 C# 代码:

/* 在代码头部引入 System.IO 命名空间 */

// 第一种方法

using(FileStream fs=new FileStream(@"C:\a.txt",FileMode.Open){

using(StreamReader sr=new StreamReader(fs){

if(sr.ReadToEnd == string.Empty){

//为空

}

}

}

//第二种方法

FileInfo fi=new FileInfo(@"C:\a.txt")

if(fi.Length==0){

//为空

}

相比之下,第二种方法更为简单

2. 这种方法适合纯文本文件,比如 txt ,ini,html,xml等文件,因为稿猜它们不包括任何格式信息。它不适合诸如 doc,xls,zip, rar 等文件,因为即使这些文件是新建的空文件,它们也会包括一些应用程序信息或者格式信息。

区分适合不适合的办法是,你打开应用程序(如乎汪 Word, Excel),新建一个空文件,看它的大小是否为 0 。

希望以上可以帮到你。

如果为空是侍旁指段谈正文件长度为0的话:

if((fp=fopen("FileName","rb"))==NULL)

{exit(1)}

fseek(fp,0L,SEEK_END)

len=ftell(fp)

if(len==0)

{

/握悔*文件为空*/

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8205966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存