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

比如用C语言打开一个txt文件时,如果这个文件内容为空,给出提示,注意不是判断这个文件是否存在,最好写下程序,谢谢了
ch是什么,比如要判断1.txt是否为空,能具体写下吗?谢谢!

文件为空时 只有文件结束符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个回答  2008-06-29
FILE *fp=fopen("1.txt","r");
feof(fp)返回0非空,返回1为空

c语言如何判断文档为空?
c语言如何判断为空可用读文件操作函数的返回值来判定,如:函数: int fgetc(FILE *stream); \/\/从参数stream 所指的文件中读取一个字符. 若读到文件尾而无数据时便返回EOF.当以读方式打开文件后,第一次使用fgetc()就返回EOF,则表明文件是空文件。参考代码:include <stdio.h>void main(){FILE ...

怎样判断一个文本文件为空,只用C语言,不用C++
只用C,有这几种方法:1. 打开文件,获取长度,判断长度,长度为0,那文件肯定为空。可以用fseek(fp, 0L, SEEK_END ); 然后ftell读取位置,这个位置就是文件长度。2. 打开文件,读取文件,如果读取的长度为0,文件也一定为空 3. 用stat()函数来获取文件状态,判断里面的st_size就可以了,这个函...

C语言怎么判断文件是否为空
当读取第一个字符是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");} ...

C语言怎么判断文件为空啊
即文件指针的值等于NULL是空文件

C语言怎么判断一个文件是否为空
如果为空是指文件长度为0的话:if((fp=fopen("FileName","rb"))==NULL){exit(1);} fseek(fp,0L,SEEK_END);len=ftell(fp);if(len==0){ \/*文件为空*\/ }

...怎样判断一个文件是否为空(文件存在,但是没有内容)
用C语言的风格:FILE *fp = fopen("","");fseek(SEEK_END);\/\/跳到文件尾 int lenth = ftell(fp);\/\/获得文件内部指针位置 lenth就是当前文件大小,如果lenth == -1,则文件为空

c语言怎么判断一个字符串是否空?
在C语言中,我们可以使用 strlen 函数来检查一个字符串是否为空。strlen 函数会返回字符串的长度,如果字符串为空,那么长度就为0。以下是一个简单的例子:♡♡ 有帮助到的话,麻烦采纳哦!♡♡

用C语言怎么判断一个字符串是否为空?
空格不算是空字符串,str=""这样的才算是空字符串,里面什么都没有,而str=" "是有内容了,这个str存储了一个字符(空格),如果你要把空格也算是空字符串,那么要稍作修改:char str[] = " ";int len = strlen(str), i = 0;if (len > 0){ while(i < len && str[i++] == ' ...

c语言getchar函数判断是否为空
C ch >= '1' && ch <= '10';D ! (ch < '0' || ch > '9')。char ch = 'a';_Bool result = ('0' <= ch <= '9');printf( "%u\\n", result );'0' <= ch <= '9'中 '0' <= ch 要么是false(0),要么是true(1),无论是 0 <= '9' 还是 1 <= '9' ,...

用C语言怎么判断一个字符串是否为空?
空格的ASCII码为32 你只需要再多加一个遍历判断就OK int IsEmpty = 0;int length = strlen(变量);int n;\/\/遍历整个字符串,如果全为空格,则返回字符串也为空 for(n=0;n<length;n++){ \/\/判断ASCII码是否为32 if(变量[n]==32)IsEmpty=1;else { IsEmpty=0;\/\/存在一个字符则跳出循环 ...

相似回答