C++ int转string的几种方法比较
一、itoa函數(shù)(Windows)
非C/C++標準,可移植性不好
// Windows
#include <string> // string, sprintf
//#include <cstdlib>
using namespace std;
?
int main() {
? ? int n=100;
? ? char ch[10];
? ? _itoa(n, ch, 10); //10表示十進制,vs2017使用_itoa,其他環(huán)境可能使用itoa
? ??
? ? //下面把char*轉成string
? ? string str(ch, ch+strlen(ch));
?
? ? return 0;
}
二、std::to_string()
#include <string> // string, std::to_string
using namespace std;
?
int main(){
? ? int n=100;
? ? string str=to_string(n);
?
? ? return 0;
}
三、借助stringstream
缺點:慢。
#include <sstream> //stringstream
#include <string> //string
using namespace std;
?
int main(){
? ? stringstream ss;
? ? string str;
? ? int n=100;
? ? ss<<n;
? ? ss>>str;
?
? ? return 0;
}
四、C庫函數(shù)sprintf()
優(yōu)點:可以轉換各種進制的數(shù)。
缺點:需要先分配足夠的char數(shù)組。
#include <string> // string, sprintf
#include <cstring> // strlen(linux)
using namespace std;
?
int main() {
?? ?int n = 100;
?? ?char ch[10];
?? ?sprintf(ch, "%d", n);
?
?? ?//下面把char*轉成string
?? ?string str(ch, ch + strlen(ch));
?
?? ?//printf("%s\n",str.c_str());
?
?? ?return 0;
?
總結
以上是生活随笔為你收集整理的C++ int转string的几种方法比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (分组交换时延)谢希仁 第七版第一章1
- 下一篇: 计算机网络(第七版)谢希仁编著 第一章习