Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 83, средняя оценка - 4.75
fawr
3 / 3 / 1
Регистрация: 20.12.2009
Сообщений: 45
#1

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

24.04.2011, 23:03. Просмотров 16663. Ответов 5
Метки нет (Все метки)

имеется одномерный массив типа структуры base
C++
1
2
3
4
5
6
struct base
{
   String name;
   String work;
   String year;
}
каким образом записать такую структуру в файл на форме?
ofstream file(....)
file.write(....) - тут требуется char или массив char, а как быть с String?

http://www.cyberforum.ru/cpp-beginners/thread177494.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 23:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Запись структуры в файл (C++):

запись структуры в файл
#include <cstdio> #include <fstream> #include <iostream> using namespace...

Запись структуры в файл
Задание заключается в том что бы не используя ofstream и ifstream создать файл...

Запись структуры в файл.
Всем продуктивной ночи! Подскажите, хочу записать структуру в файл, нужно...

Запись структуры в файл.
3. Написать процедуры (или функции) записи в файл и считывания из файла массива...

Запись структуры в файл
Работаю в Borland C(чистый С) Нужно: Создать файл, который содержит...

5
dyosick
62 / 62 / 17
Регистрация: 25.08.2008
Сообщений: 178
24.04.2011, 23:37 #2
По-моему можно так:

C++
1
2
3
4
base b("John","Hospital","1989");
ofstream file(newfile.txt)
 
file<<b.name<<"  "<<b.work<<"  "<<b.year<<"\n";
Добавлено через 16 минут
Некрасиво, но работает:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
 
using namespace std;
 
struct base
{
   string name;
   string work;
   string year;       
};
 
int main()
{
ofstream file("C:\\newfile.txt");
vector<base> s;
base b;
base d;
 
b.name="John";
b.work="Hospital";
b.year="1989";
 
d.name="Dirk";
d.work="institut";
d.year="2000";
 
s.push_back(b);
s.push_back(d);
 
for(int i=0;i<s.size();++i)
   file<<s[i].name<<" "<<s[i].work<<" "<<s[i].year<<"\n";
   
file.close();
 
system("pause");
return 0;    
}
2
Антон555
14 / 14 / 6
Регистрация: 22.03.2011
Сообщений: 84
24.04.2011, 23:51 #3
Как вариант...
проверил работает=)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
  struct base
    {
       string name;
       string work;
       string year;
    };
int main()
{
    int const MAX=2; //кол-во экземпляров структуры//
    base b[MAX];
       for (int i=0;i<MAX;++i)
          {
              cout << "Enter name :" << endl; 
              cin >> b[i].name;
              cout << "Enter work :" << endl;
              cin >> b[i].work;
              cout << "Enter year :" << endl;
              cin >> b[i].year;
       }
    
    ofstream outfile;
    outfile.open("Out.txt");
       for (int i=0;i<MAX;++i)
            outfile << b[i].name << " " << b[i].work << " " << b[i].year << endl;
 
       system("pause");
       return 0;
}
2
fawr
3 / 3 / 1
Регистрация: 20.12.2009
Сообщений: 45
25.04.2011, 00:06  [ТС] #4
это понятно, спасибо.
у меня же дело всё на форме... из стрингрида в массив, а уже из массива в файл... а там тип UnicodeString
никак не могу записать
0
igorrr37
1863 / 1481 / 749
Регистрация: 21.12.2010
Сообщений: 2,473
Записей в блоге: 11
25.04.2011, 00:49 #5
Цитата Сообщение от fawr Посмотреть сообщение
file.write(....) - тут требуется char или массив char, а как быть с String?
file.write(&str[0], str.size());
0
fawr
3 / 3 / 1
Регистрация: 20.12.2009
Сообщений: 45
25.04.2011, 23:45  [ТС] #6
как-то так
C++
1
2
3
4
FILE* f;
f = fopen("base.txt","w");
fwrite((char*)mas,sizeof(mas),1,f);
fclose(f);
2
25.04.2011, 23:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2011, 23:45
Привет! Вот еще темы с решениями:

Запись Структуры в файл
Здравствуйте пытаюсь записать массив структур в файл и не получается.В Файле...

Запись структуры в файл
Хочу записать структуру в файл. Но записывается только одна структура ,...

Запись структуры в файл
Доброго времени суток! Программа: создается файл с данными художников ФИО...

Запись структуры в файл
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &quot;stdafx.h&quot; int main() {...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru