C语言atoi函数是用来将字符串转化为int型整数的,itoa功能相反。下面是我自己实现的这两个函数,均为线程安全的。代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <iostream>
#include <cmath>
using namespace std;
//将一个字符转化为数字
int chartoi(const char cp)
{
if ('0' <= cp&&'9' >= cp)
{
//字符数字在内存中的值都是通过自身加上0x30得到的
return cp - 0x30;
}
else
{
printf_s("error input.%s, %d", __FILE__, __LINE__);
return -1;
}
}
//内置类型,直接传值
int myatoi(const char* ptr)
{
const char* tmptr = NULL;
int neg = 0;
int