如何以矢量形式捕获输出而不是在C ++中打印它

时间:2012-06-07 12:38:42

标签: c++ c visual-c++

我在下面给出的形式的大型项目中有一个函数(func在某个Abc类的调用层次结构中被调用了5次):

 void Test::func(std::string c)
 {
       cout<<c;
 }

函数func由大型层次结构中的某些函数调用。但函数func所做的就是打印一个字符串。现在,我不是打印字符串,而是将其输出存储在某处(以矢量形式),以便稍后在程序中func层次结构开始时使用它。我完全不知道如何捕获此输出而不是打印它。有人可以帮忙吗。

编辑:我不想从函数中返回值...因为如果我这样做...整个调用层次结构将受到干扰......是否有其他出路而不是返回。

我想定义自己的数据结构,我可以存储它......但我没有得到它?

1 个答案:

答案 0 :(得分:5)

不确定

class Test
{
    std::stringstream accum;

    void func(std::string);
};

void Test::func(std::string c)
{
    accum << c;
}

class Test
{
    std::vector<std::string> accum;

    void func(std::string);
};

void Test::func(std::string c)
{
    accum.push_back(c);
}