C++快速实现String到int int到String 转换 JAVA

JAVA中iString转int可以借助

String.ValueOf(int i)来实现,转换后的结果是一个String类型的字符串,值就是int i的值,这样做非常方便,因为可以将int型的数据方便地插入到String字符串当中。


C++在实现这类转换的时候稍微复杂,因为C++没有ValueOf(int i)这种方便的函数。


一般在C++中,我们使用sscanf()函数和sprintf函数进行这类操作的转换,C++还有其他类型的函数,但是对各类编码的支持不好,如果掌握了sscanf和sprintf也就没必要去了解其他的函数了。


将int转换为String:

int i=100;

char a[10];

sprintf(a,"%d",i);

这里的a必须是char*,而不能是string

char *类型不能直接使用+运算符,使用不便,这个时候将其转换成string类型的

string b=a;

我们输出一下b.size(),结果是3。

现在大家已经明白了原理。


我们再来看看string转int。这次要用sscanf

int a;

string b="25";

因为sscanf不能直接支持string,而必须使用char*类型,所以我们先做个转换。

char c[10];   这里的c不能是*c,而必须是c[10]这种,否则strcpy无法使用。

strcpy(c,b.c_str());

sscanf(c,"%d",&a);

输出一下,a=25.


接下来就是记忆了,sprintf和sscanf的参数怎么记呢?我总结了下面的规律。

三个参数,第一个一定是char*类型的,第二个是“%d”这种类型的,第三个是int型的,sscanf和scanf一样,最后一个前面的符号需要加&。

以后进行int和string之间的转换就不成问题了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值