我需要在存在文件的每一行中添加行号。
我的想法是读取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);

最佳答案

根据我的理解,请给出一个清晰的场景,您可以使用以下示例代码作为参考:

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

关于c - 如何在现有文件的行中添加行号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45365400/

10-11 21:30