C++ int转string的几种方法比较

一、itoa函数(Windows)

非C/C++标准,可移植性不好

// Windows
#include // string, sprintf
//#include
using namespace std;
 
int main() {
    int n=100;
    char ch[10];
    _itoa(n, ch, 10); //10表示十进制,vs2017使用_itoa,其他环境可能使用itoa
    
    //下面把char*转成string
    string str(ch, ch+strlen(ch));
 
    return 0;
}
二、std::to_string()

#include // string, std::to_string
using namespace std;
 
int main(){
    int n=100;
    string str=to_string(n);
 
    return 0;
}
三、借助stringstream

缺点:慢。

#include //stringstream
#include //string
using namespace std;
 
int main(){
    stringstream ss;
    string str;
    int n=100;
    ss<     ss>>str;
 
    return 0;
}
四、C库函数sprintf()

优点:可以转换各种进制的数。

缺点:需要先分配足够的char数组。

#include // string, sprintf
#include // 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;

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部