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

Trying to read a string into a multidimensional vector

本文关键字:向量 字符串      更新时间:2023-10-16

我对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

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

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

如果我按照示例代码进行操作:

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