【问题标题】:Formatted text output to std::string object using std::ostream methods使用 std::ostream 方法将格式化文本输出到 std::string 对象
【发布时间】:2012-06-21 14:47:14
【问题描述】:

我创建了一个函数 dump_text(std::ostream &) 将一些文本转储到标准输出流中。文本转到文件或用户控制台。现在,我希望该文本以标准字符串对象结尾(请参阅下一个代码示例)。

void dump_text(std::ostream &p_ostream)
{
    p_ostream << "text that must endup in string object";
}

class my_class
{
    public:
    my_class(std::string &);
    operator std::ostream & ();
};

int main(int, char **)
{
    std::string l;
    my_class k(l);

    dump_text(k);
}

1) CRT 库中是否有“my_class”的标准实现? 2) 有谁知道使用 std::ostream - 方法将文本分配给字符串的问题的更好解决方案?

【问题讨论】:

标签: c++ string-formatting crt


【解决方案1】:

您将使用std::ostringstream

#include <sstream>
using namespace std;

...
ostringstream out;
dump_text(out);
string value = out.str();
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2011-07-08
    • 2023-03-09
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多