c语言如何判断为空可用读文件操作函数的返回值来判定,如:
函数: int fgetc(FILE *stream); //从参数stream 所指的文件中读取一个字符. 若读到文件尾而无数据时便返回EOF.
当以读方式打开文件后,第一次使用fgetc()就返回EOF,则表明文件是空文件。
参考代码:
#include
void main()
{
FILE *fp;
int ch;
fp=fopen("新建文本文档.txt","r");
ch=fgetc(fp);
if ( ch==EOF )
printf("file is null\n");
else
printf("read a char : %c\n");
fclose(fp);
}
注:
EOF不是文件中的一个字符,而是一个标志,C中定义EOF为-1,可在stdio.h中查到。
读文件函数,如:fgetc()在读到文件尾而无数据时便会返回EOF。
空文档是指字节数是0的文档。如果文档中有字符,则不是空文档。
文件为空时 只有文件结束符EOF
当读取第一个字符是EOF时即可判断文件是不是空
#include
#include
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要放在和你程序相同的文件夹内
满意请采纳。
不用读取文件里面的内容,可以读取文件属性啊,属性里面有文件的长度。长度为0,肯定为空啦。
FILE *mima;
mima=fopen("code.txt","r+");
fseek( mima, 0L, SEEK_END );
size=ftell(mima);
这里的size==0,就肯定为空啦。
可以就采纳吧。
c语言如何判断为空可用读文件操作函数的返回值来判定,如:
函数: int fgetc(FILE *stream); //从参数stream 所指的文件中读取一个字符. 若读到文件尾而无数据时便返回EOF.
当以读方式打开文件后,第一次使用fgetc()就返回EOF,则表明文件是空文件。
参考代码:
#include
void main()
{
FILE *fp;
int ch;
fp=fopen("新建文本文档.txt","r");
ch=fgetc(fp);
if ( ch==EOF )
printf("file is null\n");
else
printf("read a char : %c\n");
fclose(fp);
}
注:
EOF不是文件中的一个字符,而是一个标志,C中定义EOF为-1,可在stdio.h中查到。
读文件函数,如:fgetc()在读到文件尾而无数据时便会返回EOF。
空文档是指字节数是0的文档。如果文档中有字符,则不是空文档。
文档为空,使用字符读取文档时,可以增加一个变量,控制读取的次数,初始为0,每读取一次自增1,假如读取结束变量为0的话,代表是空文档。如果不懂请Q896776703.望采纳,谢谢O(∩_∩)O~