基本上我有一个使用
从c ++ std :: istream读取的线程istream& getline ( istream& is, string& str );
当我用cin
绑定istream时,当我从标准命令行输入输入作为输入时,它工作正常。
但是我想知道是否有一种方法可以让读取线程getline获取字符串 使用实际的命令行?
基本上我想实现这个目标:
只需调用带参数WriteToIStream
的函数str
(而不是命令行中的str类型),读取线程getilne()就可以得到str
。
void WriteToIStream(string& str)
{
//...
}
非常感谢
答案 0 :(得分:3)
cin
只是输入流的一个实例,绑定到标准输入。对于您的情况,您可以使用istringstream
(或更常见的是stringstream
)作为输入流来从字符串中读取:
std::istringstream istr("foobar");
getline(istr, some_string_variable);
这需要标准标题<sstream>
。