我想将一个int转换为一个字符串,所以可以cout它.此代码未按预期工作:
for (int i = 1; i<1000000, i++;)
{
cout << "testing: " + i;
}
Run Code Online (Sandbox Code Playgroud)
MD *_*med 10
您应该通过以下方式执行此操作 -
for (int i = 1; i<1000000, i++;)
{
cout << "testing: "<<i<<endl;
}
Run Code Online (Sandbox Code Playgroud)
该<<运营商将采取适当的打印值的照顾.
如果你仍然想知道如何将整数转换为字符串,那么以下是使用stringstream的方法 -
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
int number = 123;
stringstream ss;
ss << number;
cout << ss.str() << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用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
}
Run Code Online (Sandbox Code Playgroud)
但是如果你只想将它打印到输出流,那么你甚至不需要它.你可以这样做:
for (int i = 1; i<1000000, i++;)
{
std::cout << "testing : " << i;
}
Run Code Online (Sandbox Code Playgroud)