【C】C語言給文件(.txt)寫入行號
阿新 • • 發佈:2018-11-26
文章目錄
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);
}