我是 CI 中文件处理的新手,我正在开发一个计算 c 中的行数和字符数的程序。该程序对字符运行良好,但对于行,o/p 总是少一个。我使用了换行符数着数 行数。这是我的代码:
main()
{
FILE *fp;
int c,nl=0,nc=0;
char str[20];
printf("Enter filename\n");
scanf("%s",str);
fp=fopen(str,"r");
if(fp==NULL)
{
while(1)
{
printf("File does not exist\n");
printf("Enter new filename\n");
scanf("%s",str);
fp=fopen(str,"r");
if(fp!=NULL)
break;
}
}
c=getc(fp);
while(c!=EOF)
{
if(c=='\n')
nl++;
nc++;
c=getc(fp);
}
printf("no of lines=%d no of char=%d",nl,nc);
}
我的实现有什么问题?。还有其他方法可以计算编号吗?行数?