atoi

来源:互联网 发布:郑州做seo的工资 编辑:程序博客网 时间:2024/06/05 08:22

一、atoi

将字符型转换成整型,跳过前面的空白字符,遇上字符或正负号开始转换,遇到非数字或"\0"结束转换,并将结果返回。如果不能转为整形或者为空字符串,返回0

二、代码实现

#include <stdio.h>#include <stdbool.h>#include <assert.h>bool Isspace(const char c){if (c == ' ' || c == "\t")return 1;elsereturn 0;}bool Isdigit(const char c){if (c <= '9' && c >= '0'){return 1;}elsereturn 0;}int my_atoi(const char* ptr){assert(ptr);int total = 0;  //总数int sign = 0;   //符号while(Isspace(*ptr)) {ptr++;}if (*ptr=='-'||*ptr=='+')  //遇到符号开始转换,并保存符号{sign = *ptr;ptr++;}while (Isdigit(*ptr)){total = total * 10 + *ptr - '0';  //字符减字符零为数字ptr++;}if (sign == '-'){return -total;}else{return total;}}int main(){char* p = "-12345";int ret = 0;ret = my_atoi(p);printf("%d\n", ret);getchar();return 0;}
三、运行结果图