C++中的转换问题(预期的字符串)

Uri*_*ien 1 c++ logfiles

我有一个我无法触摸的功能,是一个"日志制作者",它将一些东西打印在一个文件中,当我运行该文件时显示它.问题是,const string如果我想要打印一些我必须转换此数据类型中的所有内容(我不能使用cout),该函数只会这样.

itoa和atoi功能不是标准功能,所以我也不能使用它.C++对于数据类型非常"特殊",并且不容易接受转换,所以这是我的问题:如何将每种类型的数据转换为字符串以用于日志目的?

可能我应该检查函数上的数据类型以转换事物并将它们返回到stringstream(当然,我必须将其转换为字符串).

那么,有关如何做到这一点的任何建议?

Jam*_*nze 5

boost::lexical_cast封装使用ostringstream,所以你可以使用它.否则,代码并不困难:

template<typename T>
std::string
toString( T const& object )
{
    std::ostringstream results;
    results << object;
    return results.str();
}
Run Code Online (Sandbox Code Playgroud)

(这里没有理由使用stringstream; ostringstream基本上足够了.