Вывод данных из файла - C (СИ)
Формулировка задачи:
Здравствуйте! Не могу понять, почему функцией fscanf не выводятся данные из файла. Возвращает ошибку и отдельное окно открывается. Также много варнингов типа warning: format '%d' expects argument of type 'int *', but argument 10 has type 'int'
Вносил данные с помощью fprintf, они отображаются в файле.
Структура данных - двусвязный список.Спасибо.
void PrintList(void) { fp = fopen("c:\\Users\\Andrew\\Desktop\\Kyrsovaia\\list.txt", "r"); APTEKA* pel = head; /* Вывод таблицы */ /* вывод заголовков */ printf("|---------------------------------------------------------------------------------------------|\n"); printf("|Препараты Аптеки |\n"); printf("|---------------------------------------------------------------------------------------------|\n"); printf("| Название | Группа | Форма | Доза | Дата выпуска | Срок годности | Цена |\n"); printf("|-------------|---------------|-----------|--------|----------------|----------------|--------|\n"); while (!feof(fp)) { /* вывод строк фактических данных */ fscanf(fp, "|%13s|%15s|%11s|%8.2f| %2d.%2d.%d | %2d.%2d.%d |%8.2f|\n", pel->inf.name, pel->inf.group, pel->inf.form, pel->inf.doza, pel->inf.day1, pel->inf.month1, pel->inf.year1,pel->inf.day2, pel->inf.month2, pel->inf.year2, pel->inf.price); printf("|-------------|---------------|-----------|--------|----------------|----------------|--------|\n"); pel=pel->next; } printf("| |\n"); printf("|---------------------------------------------------------------------------------------------|\n"); fclose(fp); }
Решение задачи: «Вывод данных из файла»
textual
Листинг программы
printf("%s", pel->inf.name); scanf("%s", &(pel->inf.name));
Объяснение кода листинга программы
- В данном коде используется функция printf для вывода строки.
- Форматирование строки включает в себя только одно место для вывода, поэтому мы используем
%s
для указания на это место. - В качестве вывода используется значение переменной pel->inf.name.
- Для чтения строки используется функция scanf.
- В качестве ввода используется то же место, что и для вывода, поэтому мы используем то же форматирование
%s
. - В качестве ввода используется переменная pel->inf.name.
- Обратите внимание, что для использования адреса переменной в scanf, мы используем символ амперсанд (&) перед переменной.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д