Ввод строк символами в двумерный вектор

339
22 февраля 2017, 21:37

Имеется vector<vector<char>> и файл с текстом. Цель: ввод этого текста в двумерный вектор.Как можно это реализовать? Благодарю,разобрался

Answer 1

Думаю, что в этой ситуации лучше использовать "одномерный" вектор строк вместо "двумерного" вектора символов.

Например,

std::vector<std::string> v;
//...
std::string record;
while ( std::getline( file, record ) ) v.push_back( record );

Если же использовать "двумерный" символьный вектор, то решение может выглядеть как

std::vector<std::vector<char>> v;
//...
std::string record;
while ( std::getline( file, record ) ) v.push_back( { record.begin(), record.end() } );
Answer 2
#include <string>
#include <vector>
#include <iostream>
#include <iomanip>
using namespace std;

int main(int argc, const char * argv[])
{
    vector<vector<char>> vl;
    string s;
    while(getline(cin,s))
        vl.push_back({s.begin(),s.end()});
    for(auto v: vl)
    {
        for(auto c: v) cout << c;
        cout << endl;
    }
}

См. http://ideone.com/vct4xq

Вместо cin можно открыть нужный файл и использовать его:

    vector<vector<char>> vl;
    string s;
    ifstream in("filename");
    while(getline(in,s))
READ ALSO
Не работает cin

Не работает cin

Задача - создать класс Группа, содержащий массив объектов класса Студент, и добавить в него меню для работы с группойЯ решил реализовать меню...

285
Очень медленно работает выборка INNER JOIN - MySQL

Очень медленно работает выборка INNER JOIN - MySQL

У меня есть таблица компании, таблица недвижимости и таблица с параметрами недвижимостиПри выборе недвижимости, например квартиры на съем,...

280
Count в значение таблицы mysql

Count в значение таблицы mysql

Интересует вопрос можно ли то таблицу в которой одно из полей будет содержать в себе количество записей из другой таблицы? В access вроде так...

200