大白椰椰 2022-06-13 10:01 采纳率: 40%
浏览 130

文件行数计算(包括空行)

现有一文本文件,需要编写程序对该文件的行数进行计算(包括空行),并输出。文件每一行不超过80个字符。

【输入形式】

一文本文件,其文件名为in.txt。

【输出形式】

输出一个整数,为文件的行数

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-06-13 11:13
    关注

    仅供参考:

    #include <stdio.h>
    #include <string.h>
    #define MAXLEN 1000
    char ln[MAXLEN];
    FILE *f;
    int i,z;
    int b,n,L;
    int main(int argc,char **argv) {
        if (argc<2) {
            printf("Usage:%s fullpathfilename.ext\nget total blank/non-blank/total linenumbers.\n",argv[0]);
            return 1;
        }
        f=fopen(argv[1],"r");
        if (NULL==f) {
            printf("Can not open file [%s]!\n",argv[1]);
            return 2;
        }
        z=0;
        b=0;
        n=0;
        L=0;
        while (1) {
            if (NULL==fgets(ln,MAXLEN,f)) break;
            L=strlen(ln);
            if ('\n'==ln[L-1]) {
                if (0==z) {
                    for (i=0;i<L-1;i++) {
                        if (!(' '==ln[i] || '\t'==ln[i])) break;
                    }
                    if (i<L-1) z=1;//当前行不是空行
                }
                if (0==z) b++; else n++;
                z=0;
            } else {
                if (0==z) {
                    for (i=0;i<L;i++) {
                        if (!(' '==ln[i] || '\t'==ln[i])) break;
                    }
                    if (i<L) z=1;//当前行不是空行
                }
            }
        }
        fclose(f);
        if (L>0 && '\n'!=ln[L-1]) {
            if (0==z) b++; else n++;//最后一行末尾无'\n'也计算
        }
        printf("File:[%s] total blank/non-blank/total linenumbers is %d/%d/%d\n",argv[1],b,n,b+n);
        return 0;
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 6月13日

悬赏问题

  • ¥20 显示器休眠后重新唤醒出现蓝屏,蓝屏代码为DRIVER-POWER.STATE-FAILURE
  • ¥20 alt+tab怎么恢复到以前的模式
  • ¥15 来一个会抓包app支付链接的
  • ¥15 MMdetection安装
  • ¥15 STM32U535系列stop3模式进入和RTC唤醒
  • ¥15 如何提取全民K歌没下载过但播放过很多次的音频?
  • ¥15 树莓派运行detect.py
  • ¥15 pdfplumber提起文本内容如何过滤水印内容
  • ¥15 kingbase容器启动失败,sudo:/bin/sudo must be owned by uid 0 and have the setuid bit set
  • ¥20 黑神话悟空调用机械硬盘导致卡顿