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