С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/29: Рейтинг темы: голосов - 29, средняя оценка - 5.00
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444

Записать vector в файл

23.12.2014, 09:52. Показов 6349. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как записать в файл вектор????
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
41
42
43
44
#include <iostream.h>
#include <string.h>
#include <vector>
#include<fstream.h>
#include<algorithm>
#include<fstream.h>
 
struct Test
{
    static const int n = 4;
    std::string question;
    std::string answer[n];
};
 
int main() {
 
    std::vector<Test> tst;
 
    int tstCnt = 0;
    cout<<"vvod kolvo voprosov:";
    std::cin >> tstCnt;
 
    for( int i=0; i<tstCnt; ++i )
    {
        Test t;
        cout<<"vvod  voprosov:";
        std::cin >> t.question;
        std::getline(cin, t.question);
        for( int j=0; j<Test::n; ++j )
        {   cout<<"vvod  otvetov:";
            std::cin >> t.answer[j];
 
        }
        tst.push_back(t);
    }
 
    ofstream om("test.txt");
    for (size_t  i=0; i<tst.size(); ++i)
    {
    om<<tst[i];//[C++ Error] vector.cpp(46): E2094 'operator<<' not implemented in type 'ofstream' for arguments of type 'Test'
    }
    om.close();
    return 0;
}
Добавлено через 6 минут
я сделал вот так работает но записывает что то страшное в файл записал цифры 19947528 19947648


C++
1
2
3
4
5
6
ofstream om("test.txt");
    for (size_t  i=0; i<tst.size(); ++i)
    {
    om<<tst[i].question<<" " <<tst[i].answer;
    }
    om.close();
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.12.2014, 09:52
Ответы с готовыми решениями:

Записать vector<vector<wchar_t>> в текстовый файл
Подскажите пожалуйста, как записать vector&lt;vector&lt;wchar_t&gt;&gt; в файл. Файл необходимо открывать через _wfopen. Пробую так, не получается....

Записать vector структур в бинарный файл
Доброго времени суток. Пытаюсь записать вектор структур в бинарный файл через библиотеку fstream. Если делать так, то строки...

Ребята есть ли метод vector <bool> записать в бинарный файл?
Всем доброго времени. Возник вопрос есть ли такой хитрый способ чтоб можно было записать в бинарник значения булл имеем vector...

14
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
23.12.2014, 09:54
Цитата Сообщение от Dgaizer Посмотреть сообщение
C++
1
tst[i].answer
это же массив, вы указатель записываете
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
23.12.2014, 10:03  [ТС]
Kerry_Jr, ну что то не получается вот пишу Вопрос Привет как дела ? ответы 1 2 3 4 записывает как дела? 19161096 19161216 как дела?
C++
1
2
3
4
5
6
7
8
9
    ofstream om("test.txt");
    for(std::vector<Test>::iterator i = tst.begin(); i != tst.end(); ++i)
    {
       for(size_t j=0;j<tstCnt;j++)
 
    om<<tst[j].question<<" " <<tst[j].answer;
 
    }
    om.close();
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
23.12.2014, 10:13
Dgaizer, так попробуйте
C++
1
2
3
4
5
6
7
8
9
ofstream om("test.txt");
for(std::vector<Test>::iterator i = tst.begin(); i != tst.end(); ++i)
{
    om << i->question << " ";
    for(size_t j = 0; j < Test::n; ++j)
      om  << i->.answer[j] << " ";
    om << std::endl;
}
om.close();
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
23.12.2014, 10:15  [ТС]
Kerry_Jr, ругается
4 строка [C++ Error] vector.cpp(46): E2294 Structure required on left side of . or .*
5 строка[C++ Error] vector.cpp(47): E2280 Member identifier expected
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
23.12.2014, 10:18
Dgaizer, я исправил, еще раз посмотрите и попробуйте.
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
23.12.2014, 10:20  [ТС]
Kerry_Jr, 6 строка [C++ Error] vector.cpp(48): E2280 Member identifier expected
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
23.12.2014, 10:28
Dgaizer, точку перед answer уберите, извиняюсь, не заметил ее.
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
23.12.2014, 10:30  [ТС]
Kerry_Jr, работает но записал
Є*Є ¤Ґ«*? 1 2 3 4 Вместо Привет как дела? 1 2 3 4
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
23.12.2014, 10:36
Dgaizer, это уже кодировка, если на латинице напишите, то запишет нормально. А Вы сам файл проверяете или выводите его в окно консоли?
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
23.12.2014, 10:41  [ТС]
Kerry_Jr, этот файл потом мне на экран вывести надо эти вопросы и ответы чтобы отвечал пользователь
0
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
23.12.2014, 10:49  [ТС]
Kerry_Jr, смотрите все отлично пусть записывает ероглифы но почему он не учитывает первое слово вопросов
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream.h>
#include <string.h>
#include <vector>
#include<fstream.h>
#include<algorithm>
#include<fstream.h>
 
struct Test
{
    static const int n = 4;
    std::string question;
    std::string answer[n];
};
 
int main() {
 
    std::vector<Test> tst;
 
    int tstCnt = 0;
    cout<<"vvod kolvo voprosov:";
    std::cin >> tstCnt;
 
    for( int i=0; i<tstCnt; ++i )
    {
        Test t;
        cout<<"vvod  voprosov:";
        std::cin >> t.question;
        std::getline(cin, t.question);
        for( int j=0; j<Test::n; ++j )
        {   cout<<"vvod  otvetov:";
            std::cin >> t.answer[j];
 
        }
        tst.push_back(t);
    }
 
ofstream om("test.txt");
for(std::vector<Test>::iterator i = tst.begin(); i != tst.end(); ++i)
{
    om << i->question << " ";
    for(size_t j = 0; j < Test::n; ++j)
      om  << i-> answer[j] << " ";
    om << std::endl;
}
om.close();
 
  {FILE *f;
    char c;
    setlocale (2, ".1251");
    if ((f = fopen ("test.txt", "r")) == NULL)
      {
        cout << "Íå ìîãó îòêðûòü ôàéë";
      }
    while (1)
        {
        fscanf (f, "%c", &c);
        if (feof(f))
            break;
        cout << c;
 
        }
   }
   system("pause");
    return 0;
}
Миниатюры
Записать vector  в файл  
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
23.12.2014, 10:56
Лучший ответ Сообщение было отмечено Dgaizer как решение

Решение

Dgaizer, у меня в таком виде нормально записывает
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
41
42
43
44
#include <iostream>
#include <string>
#include <vector>
#include<fstream>
#include<algorithm>
 
struct Test
{
    static const int n = 4;
    std::string question;
    std::string answer[n];
};
 
int main() {
 
    std::vector<Test> tst;
 
    int tstCnt = 0;
    std::cout << "vvod kolvo voprosov:";
    std::cin >> tstCnt;
    std::cin.get();
 
    for( int i=0; i<tstCnt; ++i )
    {
        Test t;
        std::cout<<"vvod  voprosov:";
        std::getline(std::cin, t.question);
        for( int j=0; j<Test::n; ++j )
        {   
            std::cout<<"vvod  otvetov:";
            std::cin >> t.answer[j];
        }
        tst.push_back(t);
    }
    std::ofstream om("test.txt");
    for(std::vector<Test>::iterator i = tst.begin(); i != tst.end(); ++i)
    {
        om << i->question << " ";
        for(size_t j = 0; j < Test::n; ++j)
          om  << i->answer[j] << " ";
        om << std::endl;
    }
    om.close();
}
Добавлено через 1 минуту
Цитата Сообщение от Dgaizer Посмотреть сообщение
почему он не учитывает первое слово
поэтому
C++
1
2
std::cin >> t.question;
std::getline(cin, t.question);
я выложил исправленный код
1
42 / 42 / 5
Регистрация: 25.03.2014
Сообщений: 444
23.12.2014, 10:59  [ТС]
Kerry_Jr, все заработало спасибо вам гуру форума
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
23.12.2014, 11:02
Цитата Сообщение от Dgaizer Посмотреть сообщение
гуру форума

Не по теме:

ну это уж слишком громко, я всего лишь начинающий

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2014, 11:02
Помогаю со студенческими работами здесь

Как сложить два vector и записать в третий vector ?
Не получается сложить два вектора по элементно и записать в третий . Складываю уже переведенные числа из десятичной в восьмеричной системе...

Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>>
Добрый день, подскажите пожалуйста как лучше и проще считывать файл. в файле записаны числа, разделенные пробелами и запятыми: 1, 2, 3,...

Записать числа в vector
Записать числа в vector, а после ввести число quantity, которое суммирует числа из вектора. Короче, вводим 4 5 6, а после, допустим,...

Как записать координаты в vector типа PointF?
контейнер объявляю так: std::vector&lt;PointF&gt; coordDraw; но как вписать координаты потом в этот контейнер? Добавлено через 6...

Записать 100 млн элементов в vector<double>
Доброй ночи! Хочу в векторе получить 10^8 элементов типа double. Пытаюсь загнать элементы,но в цикле вылетает исключение. int...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru