#c #file #text
#c #файл #текст
Вопрос:
Я пытаюсь написать код, в котором я могу заменить каждый символ в текстовом файле на ‘x’ в рамках одного цикла. Я не могу получить желаемый результат, а также выполнение условия ch! ==EOF приводит к бесконечному циклу.
#include<stdio.h>
void main()
{
FILE *fp;
fp=fopen("text.txt","r ");
char ch;
int i=0;
while(1)
{
if(i!=5)
{
ch=fgetc(fp);
fseek(fp,-1,SEEK_CUR);
fputc('x',fp);
printf("%c",ch);
i ;
}
else
break;
}
fclose(fp);
}
Ожидаемый результат: Привет
Фактический результат: Хииии
учитывая, что файл содержит текст «Привет»
С использованием компилятора GCC.
Комментарии:
1. Ваш код выдает ожидаемый результат при компиляции с помощью команды
gcc <Your C file>
. Добавляли ли вы какие-либо дополнительные флаги при компиляции вашего кода?2. @xing Большое вам спасибо. Сработало просто отлично.
3. @VietHTran На самом деле я использую CodeBlocks с компилятором gcc. (Не в Linux)