0

我得到了一个带有以下签名的函数。我无法改变它,我必须与之合作。

void parse(std::istream & in);

我应该测试这个函数,所以基本上用预定义的内容调用它并检查值是否被正确解析。因此我需要调用这个函数......类似于parse("abcdedf....")......但我无法找到一种方法来做到这一点。

我是 C++ 新手,所以这可能是一个愚蠢的问题。据我了解流,istream 是我从源(例如文件)读取时得到的东西。所以我需要将常规字符串转换为这个源,但我不知道如何。

4

1 回答 1

2

使用字符串流

std::istringstream iss("abcdef....");
parse(iss);

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

于 2013-05-18T22:48:24.163 回答