1. 程式人生 > >【C】C語言給文件(.txt)寫入行號

【C】C語言給文件(.txt)寫入行號

文章目錄

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); }

三、結果展示

在這裡插入圖片描述