В файл выводятся кракозябры - C (СИ)
Формулировка задачи:
Добрый вечер
В книге у Г.Шилдта написано что с помощью fwrite можно выводить в файл структуры, например есть код
вот в этом месте поидеи должна записываться структура
но в файл выводятся кракозябры, как исправить и почему это происходит(без локали тоже самое)?
Спасибо
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> #include <locale.h> #define n 15 static const char* filename = "statistic.dat"; struct information { char user[32]; int array[n]; int iterations; }; int main() { int i; struct information info; info.iterations = 0; setlocale(LC_ALL, "Russian"); int *p_array = info.array; for (int i = 0; i < n; ++i) *p_array++ = i; for(i = 0; i < n; i++) { printf("%4d ", info.array[i]); } printf("\n"); FILE* file = fopen(filename, "w+"); printf("Введите имя\n"); scanf("%s", info.user); for(i = 0; i < n; i++) { printf("%4d ", info.array[i]); } printf("\n"); FILE* file = fopen(filename, "wb+"); fwrite(&info, sizeof(struct information), 1, file); system("PAUSE"); return 0; }
fwrite(&info, sizeof(struct information), 1, file);
Решение задачи: «В файл выводятся кракозябры»
textual
Листинг программы
FILE* file = fopen(filename, "w+");
Объяснение кода листинга программы
- В коде открывается файл с помощью функции fopen.
- Файл открывается для записи и чтения с помощью параметра
w+
. - Переменная file содержит указатель на открытый файл.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д