Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;使用ostringstream或stringstream将Int转换为字符串_C++_String_Stringstream_Ostringstream - Fatal编程技术网

C++ C++;使用ostringstream或stringstream将Int转换为字符串

C++ C++;使用ostringstream或stringstream将Int转换为字符串,c++,string,stringstream,ostringstream,C++,String,Stringstream,Ostringstream,我一直在使用stringstream将Integer转换为String,但后来我意识到同样的操作也可以用ostringstream完成 当我使用.str()时,它们之间有什么区别?还有,有没有更有效的方法将整数转换为字符串 示例代码: //using ostringstream ostringstream s1; int i=100; s1<<i; string str_i=s1.str(); cout<<str_i<<endl; //using stri

我一直在使用
stringstream
Integer
转换为
String
,但后来我意识到同样的操作也可以用
ostringstream
完成

当我使用
.str()
时,它们之间有什么区别?还有,有没有更有效的方法将整数转换为字符串

示例代码:

//using ostringstream

ostringstream s1;
int i=100;
s1<<i;
string str_i=s1.str();
cout<<str_i<<endl;

//using stringstream

stringstream s2;
int i2=100;
s2<<i2;
string str_i2=s2.str();
cout<<str_i2<<endl;
//使用ostringstream
ostringstream s1;
int i=100;

s1还有第三个你没有提到的,
istringstream
,你不能使用它(好吧,你可以,但这会有所不同,你不能
在fnprintf已经回答了同样的问题,当然这取决于你的代码。C++11有@cateof抱歉,我没有看到那篇帖子。@BenjaminLindley Whoaaa C++11又让我大吃一惊了。我以为我们得到的只是字符串->int和
stoi
和朋友,但我不知道我们有我也有其他方法。非常感谢!我一定会尝试你提到的方法。我认为
boost::lexical_cast
很棒,但就运行时性能而言,它可能不是最好的。它只是对
ostringstream
技术的包装。请看。@fredrasson我认为boost对整数或som做了一些专门化这使得它更快了。也许我只是在某个地方误读了一些东西。@SethCarnegie:哦,也许。那将是一个好主意。@Fredrarson,我认为这不一定再是真的了。到目前为止,这里的代码远不止一个
stringstream
的简单包装器。