如何将行号添加到现有文件的行中

时间:2017-07-28 05:21:05

标签: c file

我需要在existsitng文件的每一行添加行号。 我的想法是阅读file1为每行添加行号,将其存储在单独的变量中并写入file2

这是我的代码。

读数:

static char buff[100];
int lineNum = 0;
FILE *fp = fopen ("file1", "r");

    while (fgets (buff, sizeof (buff), fp) != NULL) {
    printf ("%7d: %s %s ", ++lineNum, buff);
   }
fclose (fp);

保存:

我需要将上面的结果存储在“str”中,以便可以将其写入file2

FILE *fp2 = fopen ("file2", "w");
fwrite(str , 1 , sizeof(str) , fp2 );
fclose(fp2);

1 个答案:

答案 0 :(得分:-1)

请提供一个明确的场景,无论我能理解什么,您都可以使用以下示例代码供您参考:

#include <stdio.h>

#define MAX_LINE    1024

int main()
{
    FILE    *inFile     = NULL,
            *outFile    = NULL;

    char    lCharBuff[MAX_LINE];

    int     lLineNum = 1;

    inFile  = fopen("main.c","r");
    outFile = fopen("out.txt","w"); 

    if(!inFile || !outFile)
    {
        printf("Unable to open file\n");
        return 0;
    }

    while(fgets(lCharBuff,MAX_LINE,inFile) != NULL)
    {
        fprintf(outFile,"%10d %s",lLineNum,lCharBuff);
        lLineNum++;
    }

    fclose(inFile);
    fclose(outFile);

    return 0;
}