Форум программистов, компьютерный форум CyberForum.ru

Запись структуры в файл - C++

Восстановить пароль Регистрация
 
Krasti
27 / 27 / 3
Регистрация: 07.11.2010
Сообщений: 140
09.11.2010, 20:17     Запись структуры в файл #1
Есть структура из 3 чисел типа дабл, нужно записать в файл .тхт (каждая запись на новой строке) так, что бы потом можно было его открыть и, соответственно, самому прочитать что там записано Как сделать? Спасибо.

зы Как записать в файл знаю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2010, 20:17     Запись структуры в файл
Посмотрите здесь:

C++ Запись структуры в файл.
Запись структуры в файл. C++
C++ запись структуры в файл
Запись структуры в файл C++
Запись структуры в файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.11.2010, 09:24     Запись структуры в файл #2
C
1
    fprintf(ofp, "%f\n%f\n%f\n", s.a, s.b, s.c);
Krasti
27 / 27 / 3
Регистрация: 07.11.2010
Сообщений: 140
10.11.2010, 11:01  [ТС]     Запись структуры в файл #3
Цитата Сообщение от accept Посмотреть сообщение
C
1
    fprintf(ofp, "%f\n%f\n%f\n", s.a, s.b, s.c);
А можно немного подробнее. fprintf записывает в файл, связанный с переменной ofp? Я правильно понял? И мне нужно, что бы три числа записывались в строчку, а запись со следующимим тремя числами уже на новой строке.
И еще, как можно потом будет с помощью программы обратиться к этим числам?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.11.2010, 12:07     Запись структуры в файл #4
Цитата Сообщение от Krasti
fprintf записывает в файл, связанный с переменной ofp?
да, открываешь файл перед выводом

Цитата Сообщение от Krasti
И мне нужно, что бы три числа записывались в строчку, а запись со следующимим тремя числами уже на новой строке.
тогда нужен массив структур

C
1
2
3
4
5
6
7
    int i;
 
    for (i = 0; i < 10; i++)
        if (fprintf(ofp, "%f %f %f" "\n", s[i].a, s[i].b, s[i].c) < 0)
            break;
 
    assert(i == 10 && "error in output file");
Цитата Сообщение от Krasti
И еще, как можно потом будет с помощью программы обратиться к этим числам?
C
1
2
3
4
    double a, b, c;
 
    if (fscanf(ifp, "%lf %lf %lf", &a, &b, &c) == 3)
        printf("read ok" "\n");
Yandex
Объявления
10.11.2010, 12:07     Запись структуры в файл
Ответ Создать тему
Опции темы

Текущее время: 21:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru