Функция, что записывает в текстовый файл данные структуры, введенные с клавиатуры - 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;
}

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

  1. Создание файла с помощью функции fopen.
  2. Объявление структуры PersonInfo с полями:
    • age (возраст) типа unsigned (без знака)
    • firstName (имя) массив символов на 64 элемента
    • lastName (фамилия) массив символов на 128 элементов
  3. Определение функции SavePersonInfo, которая записывает данные структуры PersonInfo в файл с помощью функции fwrite.
  4. Определение функции outputPersonInfo, которая выводит данные структуры PersonInfo на экран с помощью функции printf.
  5. Определение функции imputPersonInfo, которая запрашивает и сохраняет данные структуры PersonInfo с помощью функции scanf.
  6. Создание переменной p_info типа PersonInfo для хранения данных, введенных пользователем.
  7. Вызов функции imputPersonInfo для ввода данных в структуру p_info.
  8. Вызов функции SavePersonInfo для записи данных из структуры p_info в файл data.dat.
  9. Вызов функции outputPersonInfo для вывода данных из структуры p_info на экран.
  10. Закрытие файла с помощью функции fclose.
  11. Возврат 0 в функции main, что означает успешный конец работы программы.

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


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

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

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