【C】C语言给文档(.txt)写入行号

版权声明:可以转载奥 https://blog.csdn.net/Jiajikang_jjk/article/details/84529452

C语言给文档(.txt)写入行号

一、说明

      1、使用VS Code编辑代码
      2、命令行(cmd)下运行
      3、原文本(wenben.txt)
      4、写入文本(file.txt)
      5、 文本都在同一目录下

二、代码

/* 
   说明:
       运行方式:
               cmd下:
                    1:gcc 文件名.c
                    2: a.exe ./wenben/wenben.txt file.txt
   程序功能描述
       将原文本添加行号写入到一个新文本中

 */

#include <stdio.h>
#include <stdlib.h> // 提供exit();

int main(char argc, char *argv[])
{
    printf("一共 %d 个参数\n", argc);      //参数个数
    printf("第一个参数名:%s\n", argv[0]); // 第一个参数,程序名
    printf("第二个参数名:%s\n", argv[1]); // 第二个参数,待处理的txt文档
    printf("第三个参数名:%s\n", argv[2]); // 第三个参数,待查词

    char *filename = argv[1];  // 后台第二个参数:一个待读取的文本文档
    char *filename2 = argv[2]; // 后台第三个参数:待查词

    int n_lines2 = 0;
    int row = 1;     // 行号
    char line[1024]; // 保存读取一行的信息的line数组

    FILE *fpln = fopen(filename, "r");   // 输入文件的指针
    FILE *fpOut = fopen(filename2, "w"); // 输出文件的指针

    if (fpln == NULL)
    {
        perror("打开文件wenben.txt错误");
        return -1;
    }
    if (fpOut == NULL)
    {
        perror("打开文件file.txt错误");
        return -1;
    }

    // 逐行读取
    while (fgets(line, sizeof(line), fpln))
    {
        n_lines2++;
        fprintf(fpOut, "[%d] %s", row++, line);
    }

    printf("\n一共 %d 行", n_lines2);
    fclose(fpln);
    fclose(fpOut);
    return (0);
}

三、结果展示

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Jiajikang_jjk/article/details/84529452