如何在c ++中将多个项添加到字符串?

时间:2011-12-24 20:20:57

标签: c++ string

我知道如何用cout做到这一点:

cout << "string" << 'c' << 33;

但是如何执行此操作会将输出重定向到变量而不是直接转换为标准输出?

const char* string << "string" << 'c' << 33; //doesn't work

2 个答案:

答案 0 :(得分:10)

使用C ++标准库中的std::stringstream

它的作用如下:

std::stringstream ss;
ss << "string" << 'c' << 33;
std::string str = ss.str();
const char* str_ansi_c = str.c_str();

请注意,当您使用C风格的str时,str_ansi_c仍然需要在范围内。

答案 1 :(得分:2)

#include <sstream>
#include <iostream>

main()
{
  std::stringstream ss;
  ss << "string" << 'c' << 33;

  std::string str = ss.str();
  std::cout << str;
}