【问题标题】:Writing cout-formated data to printf将 cout 格式的数据写入 printf
【发布时间】:2012-03-12 03:33:51
【问题描述】:

我正在为一个跨平台应用程序进行日志记录,并且我试图了解我应该如何处理例如 Android,其中 C++ 中的默认日志记录系统使用 printf 格式的函数。但是我想使用 '

std::string myName = Johan;
int myID = 1;
mLogger << "Hello my name is: " << myName << " and my ID is: " << myID;

现在如何将其转换为对 printf 友好的格式?有没有简单的方法可以做到这一点?

编辑:mLogger 是一个输出流。我要重载“

【问题讨论】:

  • mLogger 是什么?字符串流?

标签: android c++ windows logging io


【解决方案1】:

您可以使用字符串流来格式化消息:

std::ostringstream msg;
std::string myName = "Johan";
int myID = 1;

msg << "Hello my name is " << myName << " and my ID is: " << myId;

将字符串传递给printf 就相当简单了:

printf("%s", msg.str().c_str());

【讨论】:

    【解决方案2】:

    printf("Hello my name is: %s and my ID is: %d", myName.c_str(), myId);

    【讨论】:

    • 我知道格式,我的意思是,我该如何根据来自 '
    • 如果这是您的目标,请考虑@jrok 的回答
    猜你喜欢
    • 2017-07-29
    • 1970-01-01
    • 2011-08-05
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    相关资源
    最近更新 更多