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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Bangemin
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 99
#1

Определение размерности двумерного строкового вектора - C++

17.06.2016, 21:30. Просмотров 145. Ответов 7
Метки нет (Все метки)

Не могу понять в чем ошибка?

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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <vector>
using namespace std;
 
int main()
{
    string filename = "myfile.bin";
 
    vector<vector<string> > good;
 
    unsigned int data_size = 0;
 
    for(int i = 0; i < 5; i++)
    {
        vector<string> characteristic;
 
        for(int j = 0; j < 5; j++)
        {
            characteristic.push_back("None");
 
        }
 
        data_size += sizeof(string) * characteristic.size();
        good.push_back(characteristic);
    }
 
    ofstream fileout(filename.c_str(), ios::binary | ios::out | ios::trunc);
 
    fileout.write(reinterpret_cast<char*>(&good), data_size);
 
    fileout.close();
 
    good.clear();
 
    fstream filein(filename.c_str(), ios::binary | ios::in);
 
    filein.read(reinterpret_cast<char*>(&good), data_size);
 
    for(int i = 0; i < 5; i++)
    {
        for(int j = 0; j < 5; j++)
        {
            cout << good[i][j] << " ";
        }
        cout << endl;
    }
 
    filein.close();
 
    system("pause>>void");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2016, 21:30     Определение размерности двумерного строкового вектора
Посмотрите здесь:
C++ Запись в бинарный файл двумерного строкового вектора и его считывание
Сравнить два вектора размерности n C++
Ввод вручную размерности двумерного массива C++
C++ Удаление из двумерного вектора
C++ Размер двумерного вектора
Считывание значений двумерного вектора C++
Поворот двумерного вектора на 45 градусов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5263 / 4583 / 1537
Регистрация: 14.04.2014
Сообщений: 18,213
17.06.2016, 21:51     Определение размерности двумерного строкового вектора #2
В том, что vector и string не структуры, указатель и sizeof дадут не то, что ты ожидаешь.
Bangemin
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 99
17.06.2016, 21:52  [ТС]     Определение размерности двумерного строкового вектора #3
ок, а как тогда правильно записать?
nmcf
5263 / 4583 / 1537
Регистрация: 14.04.2014
Сообщений: 18,213
17.06.2016, 21:54     Определение размерности двумерного строкового вектора #4
В данном случае сам вектор записывать вообще незачем. Надо записывать string - длину и содержимое (через c_str()) для каждой. Плюс количество строк в группе. Я же уже показывал в какой-то теме, как это делается.
Bangemin
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 99
17.06.2016, 22:09  [ТС]     Определение размерности двумерного строкового вектора #5
Так ?
C++
1
2
3
4
5
6
7
for(int i = 0; i < 5; i++)
    {
        for(int j = 0; j < 5; j++)
        {
            fileout.write(good[i][j].c_str(), sizeof(string) * good[i][j].length());
        }
    }
meJevin
155 / 147 / 58
Регистрация: 18.11.2015
Сообщений: 644
Завершенные тесты: 1
17.06.2016, 23:01     Определение размерности двумерного строкового вектора #6
Bangemin, дай полностью задание, пожалуйста. Тебе нужно определить кол-во символов? Кол-во строк?
Bangemin
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 99
18.06.2016, 10:15  [ТС]     Определение размерности двумерного строкового вектора #7
У меня есть строковый двумерный вектор. В нем храниться информация о 5 товарах, у каждого товара есть 5 характеристик. Надо записать ети товары, а потом правильно считать их. Длины характеристик не известны.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2016, 10:52     Определение размерности двумерного строкового вектора
Еще ссылки по теме:
Вывод данных из двумерного вектора C++
Массив: Заполнение двумерного вектора с клавиатуры C++
C++ Как узнать размер двумерного вектора?
C++ Как изменить размер двумерного вектора?
C++ Повторное определение вектора

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

Или воспользуйтесь поиском по форуму:
nmcf
5263 / 4583 / 1537
Регистрация: 14.04.2014
Сообщений: 18,213
18.06.2016, 10:52     Определение размерности двумерного строкового вектора #8
Здесь в последнем сообщении смотри: Запись и считование с бинарного файла
Может, немного отладить придётся, но сам принцип записи показан.
Yandex
Объявления
18.06.2016, 10:52     Определение размерности двумерного строкового вектора
Ответ Создать тему
Опции темы

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