Не могу понять функцию fwrite() - C (СИ)
Формулировка задачи:
Приветствую всех! Прошу объяснить почему при записи на файл структуру выходит только надпись Hello и вместо цифр и пробелов символы?
#include <stdlib.h> #include <stdio.h> struct pbooks { int str; char ch[10]; double lok; }; int main(int argc, char **argv) { FILE *fp; struct pbooks sr = {1, "Hello", 12.5}; if((fp = fopen("txt", "wb")) == NULL) { printf("Error"); exit(1); } fwrite(&sr, sizeof(sr), 1, fp); fclose(fp); return 0; }
Решение задачи: «Не могу понять функцию fwrite()»
textual
Листинг программы
fprintf(fp, "%d %s %g\n", sr.str, sr.ch, sr.lok);
Объяснение кода листинга программы
fp
- это файловый указатель, который указывает на файл, с которым мы работаем.sr
- это структура данных, которая содержит три поля:str
,ch
иlok
.fprintf()
- это функция, которая используется для записи данных в файл.%d
- это спецификатор формата, который указывает на то, что следующее значение должно быть записано как целое число.%s
- это спецификатор формата, который указывает на то, что следующее значение должно быть записано как строка.%g
- это спецификатор формата, который указывает на то, что следующее значение должно быть записано как число с плавающей точкой.\n
- это символ новой строки, который указывает на то, что данные должны быть записаны на новую строку.sr.str
,sr.ch
иsr.lok
- это поля структурыsr
, которые содержат данные, которые мы хотим записать в файл.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д