C++ C++;:如何创建包含所需内容的istream?

C++ C++;:如何创建包含所需内容的istream?,c++,stream,C++,Stream,我得到了一个签名如下的函数。我不能改变它,我必须和它一起工作 void parse(std::istream & in); 我应该测试这个函数,所以基本上用预定义的内容调用它,并检查值是否被正确解析。所以我需要调用这个函数。。。类似于parse(“abcdedf…”)。。。但是我找不到一个方法去做 我对C++是新的,所以这可能是个愚蠢的问题。就我所理解的流而言,istream是我从源代码(例如文件)读取时得到的东西。所以我需要将常规字符串转换成这个源代码,但我不知道如何转换。使用: 像

我得到了一个签名如下的函数。我不能改变它,我必须和它一起工作

void parse(std::istream & in);
我应该测试这个函数,所以基本上用预定义的内容调用它,并检查值是否被正确解析。所以我需要调用这个函数。。。类似于
parse(“abcdedf…”)
。。。但是我找不到一个方法去做

我对C++是新的,所以这可能是个愚蠢的问题。就我所理解的流而言,istream是我从源代码(例如文件)读取时得到的东西。所以我需要将常规字符串转换成这个源代码,但我不知道如何转换。

使用:


像用于读取文件的
std::ifstream
std::istringstream
派生自
std::istream
,因此您可以将
std::istringstream&
向上转换为
std::istream&
,以便传入。

谢谢。。但是你能写出完整的来源吗,包括向上的部分?@tobik,这就是你所需要的。向上转换是隐式进行的。哦,我是盲的:-)这个函数中的另一个参数有问题(我对char使用了“而不是”,我认为编译器消息在那里是因为这个奇怪的istream。谢谢,它现在正在工作。
std::istringstream iss("abcdef....");
parse(iss);