十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
c语言如何判断为空可用读文件操作函数的返回值来判定,如:
创新互联专注于企业全网整合营销推广、网站重做改版、浠水网站定制设计、自适应品牌网站建设、H5网站设计、商城开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为浠水等各大城市提供网站开发制作服务。
函数: int fgetc(FILE *stream); //从参数stream 所指的文件中读取一个字符. 若读到文件尾而无数据时便返回EOF.
当以读方式打开文件后,第一次使用fgetc()就返回EOF,则表明文件是空文件。
参考代码:
#include stdio.h
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的文档。如果文档中有字符,则不是空文档。
这个是根据你所以要求的结果来决定。
例如。
int fun(int t)
如果你需要从外界接受一个参数进来。那你这里就要定一个int t;
如果不需要对外界内容进行接收。直接用void就可以了。
空格和字符串为空的概念本来就不一样,
如楼上所说空格本来就代表一个字符,
而空字符串直接为"\0"
如果你要把空格的字符串也定义为空字符串的话
就要加判断
空格的ASCII码为32
你只需要再多加一个遍历判断就OK
int IsEmpty = 0;
int length = strlen(变量);
int n;
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;nlength;n++)
{
//判断ASCII码是否为32
if(变量[n]==32)
IsEmpty=1;
else
{
IsEmpty=0;
//存在一个字符则跳出循环
break;
}
}
if(length == 0)
printf("字符串为空");
else if(IsEmpty)
printf("字符串为空");
else
printf("字符串不为空");
文件为空时 只有文件结束符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)程序设计过程的需要。在设计模块时,对于一些细节问题或功能在以后需要时再加上。这样可在将来准备扩充的地方写上一个空函数,这样可使程序的结构清晰,可读性好,而且易于扩充。
(2)在C++程序中,可以将基类中的虚函数定义为空函数,通过派生类去实例化,实现多态。
对于你所说的“void表示主函数为空函数,没有返回值”:
void 函数名(参数);这种形式的函数定义,是说所定义的函数没有返回值。没有返回值(也就是函数体内没有return语句),是指函数只是完成一系列动作,不需要返回值给调用函数;或者返回值是通过指针等方式返回给调用函数的。