Прочесть структуру из файла, модифицировать и записать обратно в файл - C (СИ)
Формулировка задачи:
Составить структуру в файле на языке си . читаешь структуру из файла, меняешь значения структуры и опять её записываешь
сама не программист по этому не разбираюсь во всём этом знаю только как составить структуру , а как её изменять и заново записать не понимаю, помогите
Решение задачи: «Прочесть структуру из файла, модифицировать и записать обратно в файл»
textual
Листинг программы
#include <stdio.h> #include <stdio.h> // Бог любит троицу, поэтому заменил conio.h на stdio.h #include <stdio.h> struct str { int h; int m; int s; }; int main(int argc, char* argv[]) { FILE* strfile = fopen("str.str", "rb"); struct str t; if(strfile) { fread(&t, sizeof(struct str), 1, strfile); fclose(strfile); printf("Str from file: {h = %d, m = %d, s = %d}\n", t.h, t.m, t.s); } else { puts("File str.str is not exists!!!"); } printf("Enter h: "); scanf("%d", &t.h); printf("Enter m: "); scanf("%d", &t.m); printf("Enter s: "); scanf("%d", &t.s); printf("Str to file: {h = %d, m = %d, s = %d}\n", t.h, t.m, t.s); strfile = fopen("str.str", "wb"); fwrite(&t, sizeof(struct str), 1, strfile); fclose(strfile); getch(); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем структуру str с полями h, m, s типа int
- Открываем файл
str.str
в бинарном режиме на чтение - Создаем объект struct str t и инициализируем его значениями из файла
- Если файл успешно открыт, выводим значения структурного объекта t
- Если файл не удалось открыть, выводим сообщение об ошибке и закрываем программу
- Запрашиваем у пользователя ввод значений для полей структуры str
- Записываем введенные значения в соответствующие поля структуры t
- Выводим значения структурного объекта t
- Открываем файл
str.str
в бинарном режиме на запись - Записываем значения структурного объекта t в файл
- Закрываем файл
- Получаем символ для завершения программы
- Возвращаем 0 для завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д