В файл выводятся кракозябры - 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+");

Объяснение кода листинга программы

  1. В коде открывается файл с помощью функции fopen.
  2. Файл открывается для записи и чтения с помощью параметра w+.
  3. Переменная file содержит указатель на открытый файл.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы