Как правильно записывать в файл вложенные структуры? - C (СИ)
Формулировка задачи:
Всем привет, нужен срочно ваш дельный совет, ситуация такая:
к примеру существует такая вложенная структура
Вопрос, можно ли каким то образом при помощи функций fread и fwrite (или быть может существуют подобные функции для записи в файл конкретно вложенных структур) записать в файл эту самую struct2 и вложенную в ее struct1? Побывал гуглить, но на удивление не одного запроса по темен не нашел. Буду очень благодарен за идею, спасибо.
struct struct1 { int x1; float x2; char x3[20]; }; struct struct2 { int x1; float x2; char x3[20]; struct1 *x4; };
Решение задачи: «Как правильно записывать в файл вложенные структуры?»
textual
Листинг программы
FILE *fp; //write fp=fopen("some.txt","w"); fprintf(fp,"%d\n%f\n",struct.x1,struct.x2); fputs(struct.x3,fp); fclose(fp); //read fp=fopen("some.txt","r"); fscanf(fp,"%d%f",&struct.x1,&struct.x2); fgets(struct.x3,20,fp); fclose(fp);
Объяснение кода листинга программы
- Создается указатель на файл
fp
с помощьюfopen(
some.txt,
w)
. - С помощью
fprintf(fp,
%d\n%f\n,struct.x1,struct.x2)
записываются значенияstruct.x1
иstruct.x2
в файл. - С помощью
fputs(struct.x3,fp)
записывается значениеstruct.x3
в файл. - С помощью
fclose(fp)
файл закрывается. - Открывается файл для чтения с помощью
fopen(
some.txt,
r)
и создается указатель на файлfp
. - С помощью
fscanf(fp,
%d%f,&struct.x1,&struct.x2)
считываются значенияstruct.x1
иstruct.x2
из файла. - С помощью
fgets(struct.x3,20,fp)
считывается значениеstruct.x3
из файла. - С помощью
fclose(fp)
файл закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д