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

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

Войти
Регистрация
Восстановить пароль
 
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
#1

Запись в vector<vector<char>> - C++

27.02.2014, 18:09. Просмотров 805. Ответов 6
Метки нет (Все метки)

Задача такова: Считать с нескольких разных файлов бинарным способом в vector<vector<char>> _data. Затем vector<vector<char>> _data записать в 1 бинарный файл.
Мои наработки:

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
vector<vector<char>> _data;
vector<string> _path;
 
void Pack::read_from_file()     // Считывание с файлов
{
    char tmp;
    ifstream fread;
    for(int i = 0; i < _path.size(); i++)
    {
        fread.open(_path[i], ios::binary);    // _path - это путь к файлам
        for(int j = 0; !fread.eof(); j++)
        {
            fread.read((char*)&tmp, sizeof(char));
                _data[i][j] = tmp;     // Тут выбивает ошибка....
        }
        fread.close();
    }
}
 
void Pack::write_to_one()       // Запись в 1 файл
{
    ofstream fwrite("test.pack", ios::binary);
    for(int i = 0; i < _data.size(); i++)
    {
        for(int j = 0; j < _data[i].size(); j++)
        {
            fwrite.write((char*)_data[i][j], sizeof(char));
        }
    }
    fwrite.close();
}
Подскажите если еще что то не то...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 18:09     Запись в vector<vector<char>>
Посмотрите здесь:

Инициализация vector<char> - C++
Добрый день. Подскажи те, как инициализировать vector&lt;char&gt; символами - буквами алфавита.

std::vector<char**> - C++
Может конечно боян, но похожей темы я не нашел. И так в чем проблема... Пишу программу для работы со своей базой данных. Решил базу...

Unsigned char to vector - C++
{ vector&lt;byte&gt; resBuffer; unsigned char buffer; //string reply; //Receive a reply from the server if(...

Запихнуть в vector<int>, char? - C++
Всем доброго времени суток! Вот решил написать программу, которая переводила бы число из десятичной системы счисления в шеснадцатиричную...

Vector<unsigned char> в int - C++
есть vector&lt;unsigned char&gt; размером 4 байта..и мне надо перевести их в 1 число типа int. т.е. типо int command = tempN.data(); но ...

Как вместо char* использовать vector<string>? - C++
Здравствуйте, можете объяснить, как это сделать или проще привести какой-нибудь пример, чтобы стало понятно, как это применить к своей...

Как выделить числа double из vector<char> - C++
Здравствуйте, форумчане. Это вопрос о следующей проблеме http://www.cyberforum.ru/cpp-beginners/thread1523545.html#post8032759 Есть...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
27.02.2014, 18:32     Запись в vector<vector<char>> #2
Frеad - не самое лучшее название переменной!
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
27.02.2014, 19:27  [ТС]     Запись в vector<vector<char>> #3
Имена сменил, но ошибка все в том же месте осталась... через _data[i][j].push_back() добавляться не хочет... Вот вроде просто через индекс должно заполнять, но не заполняет...

Добавлено через 28 минут
Все еще жду... Подскажите пожалуйста как заполнить _data[i][j]... через push_back()

Добавлено через 22 минуты
Уже заменил _data[i][j] на _data[i].push_back(tmp) и все равно при обращении к этой строке выбивает ошибка...
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
27.02.2014, 20:54     Запись в vector<vector<char>> #4
C++
1
2
3
4
5
6
for(vector<string>::iterator i=_path.begin(); i!=_path.end(); i++){
   _data.push_back(vector<char>());
   fin.open(*i);
   copy(istream_iterator(fin), istream_iterator(), back_inserter(_data.back() );
  fin.close();
}
Добавлено через 21 минуту
Или
C++
1
2
3
4
5
6
7
8
9
for(vector<string>::iterator i=_path.begin(); i!=_path.end(); i++){
  fin.open(*i, ios::binary);
  _data.push_back(vector<char>() );
  while( !fin.eof() ){ 
     fin.read(&tmp, sizeof(char) );
     _data.back().push_back(tmp);
  }
  fin.close();
}
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
27.02.2014, 21:38     Запись в vector<vector<char>> #5
Имена, начинающиеся с подчеркивания зарезервированы для реализации.
C++11 17.6.4.3.2 Global names
Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace.
DU
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
27.02.2014, 21:42     Запись в vector<vector<char>> #6
не совсем по теме. но может пригодится когда-нибудь:
http://rsdn.ru/forum/info/FAQ.cpp.stl.file2vector
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2014, 01:13     Запись в vector<vector<char>>
Еще ссылки по теме:

Выводятся дополнительные странные символы из vector<unsigned char> - C++
Здравствуйте! Вот такой простой код: int main() { string a = &quot;asd&quot;; std::vector&lt;unsigned char&gt; buf(a.begin(), a.end()); ...

Измените структуру CStash чтобы данные хранились в объекте типа vector<char> - C++
Измените структуру CStash чтобы данные хранились в объекте типа vector&lt;char&gt; //hello.h struct CStash{ int size; int quantity; ...

Запись/считывание vector в/из файл - C++
Здравствуйте. Есть массив векторов. Необходимо их в бинарном виде записать, а потом считать из файла без сторонних библиотек. Использую...

Запись в vector с последующим чтением - C++
Добрый день! Хочу реализовать программу, которая записывает в vector элементы последовательности Фибоначчи, а потом считывает их. Мой...

STL vector запись в файл - C++
Здраствуйте! Такая проблема, есть у меня например vector чисел 1,2,3,4,5 надо записать их в файл. Если записываю так, то выбивает ошибка...


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

Или воспользуйтесь поиском по форуму:
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
28.02.2014, 01:13  [ТС]     Запись в vector<vector<char>> #7
Всем спасибо

Добавлено через 1 час 0 минут
Решил расширить задачу и распаковать эти файлы обратно из одного в те как они и должны быть. Но столкнулся с затруднением, размером файлов и расширением... Я вот что думаю, это нужно создать структуру в которой будет расширение и размер и записать в конец файла? Или как?
Yandex
Объявления
28.02.2014, 01:13     Запись в vector<vector<char>>
Ответ Создать тему
Опции темы

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