Fscanf после символа enter заканчивает ввод - C (СИ)
Формулировка задачи:
#include <stdio.h>
int main()
{
char a[1000];
FILE *file1=fopen("file1.txt","r");
FILE *file2=fopen("file2.txt","w");
fscanf(file1,"%s999",a);
fprintf(file2,"%s",a);
}Решение задачи: «Fscanf после символа enter заканчивает ввод»
textual
Листинг программы
if ( fscanf(file1, "%999[^\n]%*c", a) != 1 ) {
/* всё плохо */
Объяснение кода листинга программы
- В данном коде используется функция fscanf для чтения данных из файла file1.
- Форматная строка
%999[^\n]%*cуказывает на чтение строки (до 999 символов), которая не содержит символа новой строки (\n). - Переменная
aиспользуется для хранения прочитанной строки. - Если функция fscanf вернула значение 1, значит, была успешно прочитана строка.
- Если функция fscanf вернула значение 0, значит, произошла ошибка чтения (например, достигли конца файла или возникла ошибка при чтении).
- В случае ошибки, программа выполняет блок кода, помеченный как
всё плохо.