Текст в файле - C (СИ)
Формулировка задачи:
Делаю БД, надо вывести на экран текст из файла. Текст: Lavochkin 25 Viborgsky Engelsa99 Miopiya. Как сделать так, чтобы распихать слова в разные переменные? Например, Lavochkin в char surname[20], 25 в int age и т.п. Пробовал fscanf, не получается.
Решение задачи: «Текст в файле»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define N 20
int main()
{
FILE *fp;
int age, building;
char surname[N], street[N], area[N];
if(!(fp = fopen("file.txt", "r"))){
fprintf(stderr, "Error opening file.");
exit(1);
}
fscanf(fp, "%s%d%s%s%d", surname, &age, area, street, &building);
printf("%s %d %s %s %d\n", surname, age, area, street, building);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и для работы с консолью
- Определение константы N, которая ограничивает количество символов в массивах
- Создание указателя на файл и его открытие в режиме чтения
- Создание переменных для чтения данных из файла: surname, street, area, building
- Проверка успешного открытия файла и вывод сообщения об ошибке в случае неудачи
- Чтение данных из файла с помощью функции fscanf и сохранение их в переменных surname, age, area, street, building
- Вывод данных на экран с помощью функции printf
- Закрытие файла с помощью функции fclose
- Возвращение 0, что означает успешное завершение программы