没有命令行的std :: istream?

时间:2011-11-19 16:16:14

标签: c++ iostream getline

基本上我有一个使用

从c ++ std :: istream读取的线程
istream& getline ( istream& is, string& str );

当我用cin绑定istream时,当我从标准命令行输入输入作为输入时,它工作正常。

但是我想知道是否有一种方法可以让读取线程getline获取字符串 使用实际的命令行?

基本上我想实现这个目标:

只需调用带参数WriteToIStream的函数str(而不是命令行中的str类型),读取线程getilne()就可以得到str

void WriteToIStream(string& str)
{
//...
}

非常感谢

1 个答案:

答案 0 :(得分:3)

cin只是输入流的一个实例,绑定到标准输入。对于您的情况,您可以使用istringstream(或更常见的是stringstream)作为输入流来从字符串中读取:

std::istringstream istr("foobar");
getline(istr, some_string_variable);

这需要标准标题<sstream>

相关问题