我正在尝试将ifstream
读入字符串,在那里我可以设置正在读取的字符数。我已经阅读了ifstream.get()
和ifstream.getline()
的文档,但这些文档都没有达到我想要的效果。
给出以下字符串:
asdfghjklqwertyuiop
我想一次读入不同数量的字符到字符串中。我是这样开始的,但是我收到一个错误,即没有将字符串作为第一个参数的函数:
string destination;
int numberOfLettersToGet = 1;
while (inputstream.get(destination, numberOfLettersToGet)){
//Do something.
}
我可以使用什么代替inputstream.get()
?
答案 0 :(得分:1)
istream::get
将字符作为整数返回,因此您只需将返回的字符作为字符串的下一个字符追加。 e.g。
while (string.push_back(inputstream.get()))
{ //...
}
答案 1 :(得分:1)
您可能希望使用read
的{{1}}和gcount
成员函数。 std::istream
附加一个零终结符,当您阅读get
时,这是不必要的。
std::string