#include "stdio.h"
#include "stdlib.h"
int main()
{
FILE *fp;
int noOfLines =0;
char fname[]="Rtl_Prod_Id.txt";
printf(fname);
fp=fopen(fname,"r");
char ch;
//looping for every line
do {
ch=fgetc(fp);
if (ch=='\n')
noOfLines++;
} while(ch!=EOF);
//line before the last line
if (ch!='\n'&&noOfLines!=0)
noOfLines++;
fclose(fp);
printf("%d",noOfLines);
return 0;
}
我只是想计算文件中的行数。相同不会给我任何结果。
我正在做的可能是什么错误
环境:AIX和编译器:CC
谢谢
编辑:我的程序可以成功编译,但是在执行.Out文件时它没有打开任何内容
PS:虽然我得到了答案。感谢https://stackoverflow.com/users/434551/r-sahu。我换过零钱了。到INT CH; 。但我想知道为什么吗?char声明中有什么问题?。当我要检查'\ n'和EOF字符时,为什么要整数呢?
这是一个疯狂的尝试,但改变了思路
char ch;
到
int ch;
是适当的。的返回类型fgetc
是int
,没有char
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句