Функция, что записывает в текстовый файл данные структуры, введенные с клавиатуры - C (СИ)
Формулировка задачи:
Помогите сделать программу. Написать функцию, что записывает в текстовый файл данные структуры, которые мы вводим с клавиатуры.
Решение задачи: «Функция, что записывает в текстовый файл данные структуры, введенные с клавиатуры»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> typedef struct PersonInfo { unsigned age; char firstName[64]; char lastName[128]; } PersonInfo; int SavePersonInfo(FILE *f, PersonInfo *pinfo) { fwrite(pinfo, sizeof(PersonInfo), 1, f); return 0; } void outputPersonInfo(PersonInfo *pinfo) { printf("Age: %d\n", (*pinfo).age); printf("First Name: %s\n", (*pinfo).firstName); printf("Last Name: %s\n", (*pinfo).lastName); } void imputPersonInfo(PersonInfo *pinfo) { printf("Age: "); scanf("%d", &(*pinfo).age); printf("First Name: "); scanf("%63s", (*pinfo).firstName); printf("Last Name: "); scanf("%127s", (*pinfo).lastName); } int main() { FILE* datafile; datafile = fopen("data.dat", "w+b"); if (!datafile) { printf("Error open file."); return -1; } PersonInfo p_info; imputPersonInfo(&p_info); SavePersonInfo(datafile, &p_info); outputPersonInfo(&p_info); fclose(datafile); return 0; }
Объяснение кода листинга программы
- Создание файла с помощью функции fopen.
- Объявление структуры PersonInfo с полями:
- age (возраст) типа unsigned (без знака)
- firstName (имя) массив символов на 64 элемента
- lastName (фамилия) массив символов на 128 элементов
- Определение функции SavePersonInfo, которая записывает данные структуры PersonInfo в файл с помощью функции fwrite.
- Определение функции outputPersonInfo, которая выводит данные структуры PersonInfo на экран с помощью функции printf.
- Определение функции imputPersonInfo, которая запрашивает и сохраняет данные структуры PersonInfo с помощью функции scanf.
- Создание переменной p_info типа PersonInfo для хранения данных, введенных пользователем.
- Вызов функции imputPersonInfo для ввода данных в структуру p_info.
- Вызов функции SavePersonInfo для записи данных из структуры p_info в файл data.dat.
- Вызов функции outputPersonInfo для вывода данных из структуры p_info на экран.
- Закрытие файла с помощью функции fclose.
- Возврат 0 в функции main, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д