C++int转string的⼏种⽅法⽐较⼀、itoa函数(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,其他环境可能使⽤itoa
cstring转为int//下⾯把char*转成string
string str(ch, ch+strlen(ch));
return0;
}
⼆、std::to_string()
#include<string>// string, std::to_string
using namespace std;
int main(){
int n=100;
string str=to_string(n);
return0;
}
三、借助stringstream
缺点:慢。
#include<sstream>//stringstream
#include<string>//string
using namespace std;
int main(){
stringstream ss;
string str;
int n=100;
ss<<n;
ss>>str;
return0;
}
四、C库函数sprintf()
优点:可以转换各种进制的数。
缺点:需要先分配⾜够的char数组。
#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());
return0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。