我正在尝试使用 fopen 的“r+”模式为现有 .txt 文件中的多行文本添加编号。这似乎不起作用,它最终编写了字符串“line”的第一次迭代,然后是大量的垃圾值。有没有办法在行首添加文本?如果是这样,我是不是走错路了?
我也在尝试这样做,而不必编写一个全新的文件。
void main()
{
char read = ' ';
char buffer[25];
char line[4] = "01."; //lines from 01 to 99
FILE *file;
file = fopen("readme.txt","r+");
if (file == NULL)
{
printf("ERROR: Cannot open input file.\n");
exit();
}
do
{
fwrite(line,strlen(line),1,file);
read=gets(buffer);
if(!feof(file)) // updating line numbers
{
if(line[1]<'9')
{
(line[1])++;
}
else
{
if(line[0]<'9')
{
(line[0])++;
}
else
{
exit();
}
}
}
else
{
exit();
}
}while(!(feof(file)));
fclose(file);
exit();
}