我想将int转换为字符串,因此可以将其转换为cout。此代码未按预期运行:
for (int i = 1; i<1000000, i++;)
{
cout << "testing: " + i;
}
答案 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”,因此每个语句将打印一个单独的行。