码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 中 int 与string相互转换

时间:2019-02-28 18:28:53      阅读:1697      评论:0      收藏:0      [点我收藏+]

标签:编译   1.0   list   int   oat   一个   span   float   格式   

int -->  string

1.使用itoa()函数

将任意类型的数字变量转换为字串子变量。

#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int main()
{
    int a= 123;
    char str[20] ;
    itoa(a,str,10);
    cout<<str<<endl;
    return 0;
}

缺点:它是一个非标准的C / C++语言功能,因此不能好好的被所有编译器使用

2.使用sprintf转化

主要功能是把格式化的数据写入某个字符串中

原型

int sprintf( char *buffer, const char *format, [ argument] … );
 

参数列表

buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
#include<stdio.h>
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
int main()
{
    int a= 123;
    char str[20] ;    
    sprintf(str,"%d",a);
    cout<<str<<endl;
    return 0;
}

2.使用to_string()函数

这个函数是C++11.0新增的

string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val)

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int a = 123;
    string str = to_string(a);
    cout<<a<<endl;
}

 

string   -->  int

1.使用atoi函数

(表示 ascii to integer)是把字符串转换成整型数的一个函数

int atoi(const char *nptr);

#include<stdio.h>
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
int main()
{
    
    char str[20] = "123";
    int num = atoi(str);
    cout<<num<<endl;
    return 0;
}

2.使用strtol函数

long int strtol(const char *nptr,char **endptr,int base);

#include<stdio.h>
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
int main()
{
    
    char str[20] = "123";    
    int num2 = strtol(str, NULL, 10);
    cout<<num2<<endl;    
    return 0;
}

3.使用itos函数

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int num = 12;
    string str = itos(num);
    cout<<str<<endl;
}

 

 

C++ 中 int 与string相互转换

标签:编译   1.0   list   int   oat   一个   span   float   格式   

原文地址:https://www.cnblogs.com/ttzz/p/10451886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!