试图将字符串读入多维向量

时间:2013-11-06 17:55:09

标签: c++ vector

我对C ++很新,所以请耐心等待。我正试图将文件快速读入2D矢量。

编译时我收到错误no matching function for call to 'std::basic_ifstream::read(std::basic_string&, char&)'。我尝试重新诠释它,但它也没有用。

std::vector< std::vector<std::string> > data(ROWS, std::vector<std::string>(COLUMNS));

...

reader.read(data[row][column], strlen); <-- compilation chokes here

我正在以二进制模式读取文件,因此我不确定我是否可以使用>>,因为我认为它会返回格式化输出。

1 个答案:

答案 0 :(得分:2)

basic_istream::read()接受char *参数,而不是std :: string。

如果我关注example code

std::string &str = data[row][column];
str.resize(strlen, ' ');
reader.read(&*str.begin(), strlen);