Переписать в другой файл все его строки с заменой в них символа 0 на символ 1 и наоборот - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Язык си. Имеется текстовый файл. Переписать в другой файл все его строки с заменой в них символа 0 на символ 1 и наоборот. Вообщем проблема в том, что при замене он заменяет сначало все символы на 0, а только потом уже получившиеся нули и которые были ранее заменяет на 1. Подскажите, как сделать, чтобы заменял как в условии.
#include <stdio.h>
int main()
{ int i;
char c;
FILE *f,*f2; 
f=fopen("s1.txt","r");
f2=fopen("s2.txt","w"); 
 
for(i=0;!feof(f);i++){ 
fscanf(f,"%c",&c); if(c=='1') c='0'; if(c=='0') c='1'; 
fprintf(f2,"%c",c); 
}
 
fclose(f);
fclose(f2); 
return 0;}

Решение задачи: «Переписать в другой файл все его строки с заменой в них символа 0 на символ 1 и наоборот»

textual
Листинг программы
for(i=0;!feof(f);i++){ 
fscanf(f,"%c",&c); 
if(c=='1') 
 {
  c='0';
  fprintf(f2,"%c",c); 
  continue; 
 }
if(c=='0')
  c='1'; 
fprintf(f2,"%c",c); 
}

Объяснение кода листинга программы

  1. Программа открывает два файла для чтения и записи, соответственно f и f2.
  2. Используется цикл for для чтения каждой строки из первого файла до тех пор, пока не будет достигнут конец файла (это проверяется с помощью функции feof).
  3. Внутри цикла считывается каждый символ из текущей строки с помощью функции fscanf и сохраняется в переменной типа char под названием c.
  4. Если c равен '1', то он заменяется на '0' и записывается в второй файл с помощью функции fprintf.
  5. Если c равен '0', то он заменяется на '1' и также записывается в второй файл с помощью функции fprintf.
  6. После записи каждого символа в второй файл, программа продолжает чтение следующей строки из первого файла.
  7. По завершении цикла, программа закрывает первый файл с помощью функции fclose.
  8. Программа закрывает второй файл с помощью функции fclose.
  9. Программа возвращает 0, что означает успешное выполнение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы