Не могу понять функцию 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, которые содержат данные, которые мы хотим записать в файл.