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();
}