自己实现atoi函数

#include <iostream>

#include <string>

using namespace std;

// 自己实现atoi函数的过程

int My_atoi(const char *  p);

int main()

{

string s;

cout << "请输入一个字符串:";

cin >> s;

cout<<"经过转换为整形为:"<<My_atoi(s.c_str())<<endl;

system("pause");

return 0;

}

int My_atoi(const char *  p)

{

int flag = 1 ,result = 0;

if (*p >= ‘0‘ && *p <= ‘9‘ || ‘-‘ == *p || ‘+‘ == *p)

if (‘-‘ == p[0])

{

flag = -1;

p++;

}

else if (‘+‘ == p[0])

p++;

while (*p <= ‘9‘ && *p >= ‘0‘)

result = 10 * result + (*p++ - ‘0‘);

return flag * result;

}

时间: 2024-10-07 06:28:46

自己实现atoi函数的相关文章

【C语言】模拟实现atoi函数

atoi(表示 ascii to integer)是把字符串转换成整型数的一个函数. atoi()函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过isspace( )函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回.如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回0 我们在模拟实现atoi函数时,要注意以下几点: 1.字符串之前的空白问题 2.正负号 3.字符串为空时 4.

Hdu 1106 排序 (atoi函数与 strtok函数的应用

链接: http://acm.hdu.edu.cn/showproblem.php?pid=1106 好久都没刷题了,今天突然特别怀念以前刷题的日子,所以就找了几道水题来做做~~呵呵 在写这篇博客之前呢,已经很明了自己已经大三了,时光匆忙,在还没来得及转过头来,就已经过了两年了大学,原来走了这么远了~~感觉再怎么样,大三还是不敢偷懒~~不过有时候还真是挺迷茫的说实话,在这里呢,真心希望能得到你们各位的建议,只要是对我未来就业有好处的,我都会虚心取纳,(BTW:我是学嵌入式方向的)万分感谢~~~

atoi()函数

atoi()函数的功能:将字符串转换成整型数:atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数). atoi()函数实现的代码: /* * name:xif * coder:[email protected]@yahoo.cn * time:08.20.2012 * file_name:my_atoi.c * function:int my_atoi(char* pstr)

实现atoi函数

atoi函数最关键的地方是想好测试用例: 输入为空字符串,输出为0; 输入字符串大小超过INT_MAX输出INT_MAX; 输入字符串大小小于INT_MIN输出INT_MIN; 输入字符串中含有不规则字符,中断atoi, 如"01a4" 输出1; 输入字符串开头和结尾含有空格,忽略空格,如输入"  +01  "输出1; 输入字符串开头除空格以外如果是"+"和"-",视为正确输入. class Solution { public

atoi函数(将字符串转化为int)

头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str); [函数说明]atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回. [返回值]返回转换后的整型数:如果 str 不能转换成 int 或者 str 为

atoi()函数的实现

atoi()函数的功能:将字符串转换成整型数:atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数). atoi()函数实现的代码: [cpp] view plain copy print? /* * name:xif * coder:[email protected]@yahoo.cn * time:08.20.2012 * file_name:my_atoi.c * fun

模拟实现atoi函数

atoi函数就是把一串字符串转换为int型整数的函数,通过将字符串中的字符一个一个强制类型转换,并且存入一个临时数组中,再将数组中的数字处理一下即可得到我们需要的整数. 实现这个函数的过程中,我们需要注意负数的处理,要进行一次判断,确定返回值的正负. 其他的字符按照ASCII码表进行转换即可. 下面是代码: #include<stdio.h> #include<math.h> int my_atoi(char a[],int sz) { int i = 0, count = 0, 

C语言atoi()函数:将字符串转换成int(整数)

头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str); [函数说明]atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回. [返回值]返回转换后的整型数:如果 str 不能转换成 int 或者 str 为

有趣的atoi()函数

atoi()函数是C语言库中的一个比较有意思的函数,有趣的地方在于,他可以将数字字符串转化为相应的数字,当然我们也可以通过字符间换算转化为相应数字,但有库函数atoi()使得代码简化许多.那么atoi()怎么用呢? 1.在c语言中直接包含在头文件stdlib.h头文件中,atoi()的形式参数为指针,所以要将字符串指针来传递.注意当atoi()读取到非数字字符时将会停止转换. 2.直接将string类型的字符串用char型指针进行指向即可.同样要包含头文件stdlib.h 3.c++中atoi函