0

我对 C++ 很陌生,所以请耐心等待。我正在尝试将文件非常快速地读入 2D 矢量。

编译时出现错误no matching function for call to 'std::basic_ifstream::read(std::basic_string&, char&)'。我尝试使用 reinterpret 进行投射,但它也不起作用。

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

...

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

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

4

1 回答 1

2

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

如果我按照示例代码

std::string &str = data[row][column];
str.resize(strlen, ' ');
reader.read(&*str.begin(), strlen);
于 2013-11-06T18:03:45.947 回答