文件长度的计算不起作用

严重的黑色
#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;

是适当的。的返回类型fgetcint,没有char

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章