atoi()函数和itoa()函数的用法及其实现(字符串与整形的相互转化)

atoi()及itoa()的用法

一.itoa()的用法

1.原型:char itoa(int value, char string, int radix)
2.头文件:include<stdlib.h>
3.功能:将整数value转换成字符串存入string,radix为转换所用基数(分别为 2进制, 8进制, 10进制, 16进制)
4.返回值:转换后的字符串的指针
举例:

void Test1()
{
   
	int a = 12345;
	char s[25];

	itoa(a, s, 10);
	printf("%s", s);

}

结果:发现错误
在这里插入图片描述

原因:

新版本的vs对旧有的函数itoa进行了安全检查,所以使用新版本的vs会提示错误,而旧版本的没问题。

解决方法:

  • 1、使用新函数 _itoa
  • 2、加上宏定义
  • #define _CRT_NONSTDC_NO_DEPRECATE
    #define _CRT_SECURE_NO_WARNINGS
    在这里插入图片描述

二.atoi的用法

1.原型:int atoi(const char* nptr)
2.头文件 stdlib.h
3.功能:跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(’\0’)才结束转换,并将结果返回。
4.返回值:成功返回转换后的数值,失败则返回0.
举例:

void Test()
{
   
	string s("1234");
	int c = atoi(s.c_str());//先将string类型转换为char*类型,再通过atoi函数将字符数字转换为整形数字
	cout << c << endl;
}

结果:
在这里插入图片描述

atoi()函数及itoa()函数的实现

atoi()实现

int my_atoi(const char* str)
{
   
	
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值