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要放在和你程序相同的文件夹内

c++判断文本文件为空,必须要先读一下文件(读一个字符),才能判断是否为空。

刚打开文件时,文件状态标识都是初始化状态,eof()函数是根据文件状态标识来判断当前是否到了文件尾,而不是用来判断文件是否为空。当读取文件数据时,遇到文件尾时,系统会更改文件状态标识为文件尾,同时,返回EOF标志。

参考代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#include <fstream>

#include <iostream>

using namespace std

int main()

{

fstream file

int ch

file.open("a.txt",ios::in)

ch=file.get()//试图去读一个字符

if(file.eof()) //或 if ( ch==EOF ) //一个字符都未读到,表示文件为空

{

cout<<"文件为空"<<endl

}

file.close()


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存