字符串string和整数int的互相转化方式 (c++ 、c)

1、string转int的方法

1.1 c的函数 char * 转 int

 int a = atoi(s.c_str());//c的函数 char * 转 int

1.2 c++的函数string 转 int

int b = stoi("12w");//c++的函数string 转 int 如果参数不正确,会抛出一个invalid_argument的异常,比如"w12w"

1.3 采用sstream头文件中定义的字符串流对象来实现转换

istringstream is("12");
int i;
 is >> i;//从is流中读入一个int整数存入i中
 cout<<"i = "<<i<<endl;

2、int转string

int c = 12;

2.1、采用c++标准库中的to_string函数,不需要包含任何头文件,应该是在utility中,但无需包含,直接使用,还定义任何其他内置类型转为string的重载函数,很方便。

cout<<to_string(c)<<endl;

2.2 采用sstream中定义的字符串流对象来实现

#include<sstream>
ostringstream os;//构造一个输出字符串流,流内容为空
int d = 12;
os<<i;//向输出字符串流中输出整数d的内容
cout<< os.str()<<endl;//利用字符串流的str函数获取流中的内容

2.3、采用windows c标准库中itoa库函数

int e = 12;
char buf[10];

itoa(e,buf,16);//windows c标准库中的
cout<<buf<<endl;

2.4、sprintf函数 c标准库中跨平台的

 char *str = new char[10];
 sprintf(str,"%x",100);//16进制输出 %d十进制 %o八进制
  cout<<str<<endl;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值