Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/40: Рейтинг темы: голосов - 40, средняя оценка - 4.80
2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35

Сохранение данных в файл

23.04.2017, 14:24. Показов 8291. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Возникла проблема с сохранением и читанием этих данных из файла.
Есть массив из 5 структур. Все это забивается в ручную, после чего сохраняется в файл. Дальше из этого файла считываются данные в другой массив структур.
Вроде бы все просто, но вот в файл сохраняет какую-то крокозябру, в следствии чего считывается с него такая же крокозябра.
Вот немного кода:
Функция сохранения данных
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct data {
    char name[30];
    int number;
    char name2[10];
};
int save(struct data data1[])
{
    FILE *file;
    if ((file = fopen("database.txt", "w")) == NULL)
        printf("error\n");
    else {
            fwrite(&data1, sizeof(data), 5, file);
 
    }
    fclose(file);
    printf("Successful \n");
    getch();
    return 0;
}
После открытия файла я вижу следующее(скрин)
Как я считываю данные в новый массив из файла:
C
1
2
3
4
5
6
7
8
9
10
11
    if ((file = fopen("database.txt", "rb")) == NULL) 
    {
        printf("error\n");
        fclose(file);
        return 0;
    }
    else {
        for (int i = 0; i < 5; i++) {
            fread(&data2, sizeof(data), 1, file);
        }
    }
Подскажите где моя ошибка
Миниатюры
Сохранение данных в файл  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.04.2017, 14:24
Ответы с готовыми решениями:

Сохранение данных в файл
как сохранить на wpf данные в файл,которые в двух combobox-ах и потом опять загрузить данные обратно в них с файла

Сохранение данных в файл
Здравствуйте. На сколько мне известно, чтобы сохранить данные в файл надо использовать класс SharedPreferences. Чтобы понять как это...

Сохранение данных в файл
Как сохранить (а затем прочитать) в файл массив элементов класса? class SaveToFile { public: char name; String...

1
2 / 2 / 0
Регистрация: 04.11.2016
Сообщений: 35
23.04.2017, 14:53  [ТС]
Нашел корень проблемы. Если переменные типа data
(struct data data1[5]
(struct data data2[5]
Объявлять глобально, то все отлично работает. Если локально в main и передавать в функцию save - нет. Даже если сохранение не делать отдельной функцией, а прописывать в мейне то все равно выходит крокозябра. Как решить? Глобальные переменные не хочется оставлять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.04.2017, 14:53
Помогаю со студенческими работами здесь

Сохранение данных в файл
Нужно сохранить данные в файл (коллекция)

Сохранение данных в файл
Прошу помочь мне с проблемой. Необходимо сохранять данные из поля RichEdit в текстовый файл, который будет находиться в папке, название...

Сохранение данных в файл
Есть 3 элемента: TextBox Button ComboBox Требуется: 1) После ввода слова в TextBox, нужно отправить это слово в ComboBox с...

Сохранение данных в файл
Всем привет. Подскажите, пожалуйста, существует ли возможность сохранения выбранных записей из бд (MySQL) в файл (.docx или .xls). ...

Сохранение данных в файл
Доброго времени суток. Допустим,есть таблица с некоторыми данными. Как сделать кнопку сохранения данных в файл? Заранее спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru