如何在c ++中将int转换为字符串

时间:2011-09-24 08:22:10

标签: c++ visual-c++

我想将int转换为字符串,因此可以将其转换为cout。此代码未按预期运行:

for (int i = 1; i<1000000, i++;)
{ 
    cout << "testing: " +  i; 
}

3 个答案:

答案 0 :(得分:10)

您应该按以下方式执行此操作 -

for (int i = 1; i<1000000, i++;)
{ 
    cout << "testing: "<<i<<endl; 
}

<<运算符将负责适当地打印值。

如果你仍然想知道如何将整数转换为字符串,那么以下是使用stringstream -

的方法
#include <iostream>
#include <sstream>

using namespace std;

int main()
{
    int number = 123;
    stringstream ss;

    ss << number;
    cout << ss.str() << endl;

    return 0;
}

答案 1 :(得分:5)

std::stringstream用作:

for (int i = 1; i<1000000, i++;)
{
  std::stringstream ss("testing: ");
  ss << i;

  std::string s = ss.str();
  //do whatever you want to do with s
  std::cout << s << std::endl; //prints it to output stream
}

但是如果你只是想将它打印到输出流,那么你甚至不需要它。你可以这样做:

for (int i = 1; i<1000000, i++;)
{
   std::cout << "testing : " << i;
}      

答案 2 :(得分:2)

请改为:

for (int i = 1; i<1000000, i++;)
{
    std::cout << "testing: " <<  i << std::endl;
}

<<运算符的实现将在打印之前进行必要的转换。使用“endl”,因此每个语句将打印一个单独的行。