Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

17.06.2016, 21:30. Просмотров 165. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2016, 21:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение размерности двумерного строкового вектора (C++):

Запись в бинарный файл двумерного строкового вектора и его считывание - C++
Ну ни в какую не могу понять эту работу с файлами( В чем проблема? Заранее спасибо #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Сравнить два вектора размерности n - C++
Как сравнить два вектора размерности n? Например вектор a(2,3,2) сравнить с вектором b(1,3,3). Какой из векторов больше? Вообще можно ли их...

Ввод вручную размерности двумерного массива - C++
Здравствуйте уважаемые форумчане. Такая небольшая проблема. У нас есть двумерный массив, размерность n на n. С помощью #define n 5...

Даны два вектора размерности n. Вычислить их скалярное произведение - C++
9. Даны два вектора размерности n. Вычислить их скалярное произведение

Размер двумерного вектора - C++
имею такое объявление vector&lt;vector&lt;int&gt;&gt; Mat; vector&lt;int&gt; Vec; инициализируем эту структуру, элементы в Mat хранятся так -...

Удаление из двумерного вектора - C++
Привет всем! у меня такой вопрос...создал двумерный вектор и хочу удалить i строку и i столбец...а получается так что удаляет i строка и...

7
nmcf
5762 / 5073 / 1734
Регистрация: 14.04.2014
Сообщений: 20,764
17.06.2016, 21:51 #2
В том, что vector и string не структуры, указатель и sizeof дадут не то, что ты ожидаешь.
0
Bangemin
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 99
17.06.2016, 21:52  [ТС] #3
ок, а как тогда правильно записать?
0
nmcf
5762 / 5073 / 1734
Регистрация: 14.04.2014
Сообщений: 20,764
17.06.2016, 21:54 #4
В данном случае сам вектор записывать вообще незачем. Надо записывать string - длину и содержимое (через c_str()) для каждой. Плюс количество строк в группе. Я же уже показывал в какой-то теме, как это делается.
0
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());
        }
    }
0
meJevin
156 / 148 / 58
Регистрация: 18.11.2015
Сообщений: 672
Завершенные тесты: 1
17.06.2016, 23:01 #6
Bangemin, дай полностью задание, пожалуйста. Тебе нужно определить кол-во символов? Кол-во строк?
0
Bangemin
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 99
18.06.2016, 10:15  [ТС] #7
У меня есть строковый двумерный вектор. В нем храниться информация о 5 товарах, у каждого товара есть 5 характеристик. Надо записать ети товары, а потом правильно считать их. Длины характеристик не известны.
0
nmcf
5762 / 5073 / 1734
Регистрация: 14.04.2014
Сообщений: 20,764
18.06.2016, 10:52 #8
Здесь в последнем сообщении смотри: Запись и считование с бинарного файла
Может, немного отладить придётся, но сам принцип записи показан.
0
18.06.2016, 10:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2016, 10:52
Привет! Вот еще темы с ответами:

Считывание значений двумерного вектора - C++
ну вот собственно и проблема не массива, а вектора именно #include &lt;vector&gt; using namespace std; int main() { vector&lt;...

Вектора, заполнение двумерного массива - C++
Здравствуйте дамы и господа. Вопрос конечно простой, но в тупик меня поставил и не могу понять как быть в данной ситуации. Но все по...

Поворот двумерного вектора на 45 градусов - C++
Нашел решение близко похожее на нужное, но поворот происходит на 90 градусов. Сначала решил по глупости сделать отсчет не через...

Вывод данных из двумерного вектора - C++
Здравстуйте, проблема состоит в том, что мне надо записать несколько строк разных данных в разные вектора, эти вектора вложить в другой...


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

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

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