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)
{