博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
atoi 实现
阅读量:5966 次
发布时间:2019-06-19

本文共 1423 字,大约阅读时间需要 4 分钟。

int atoi(const char *nptr);

把字符串转换成整型数。ASCII to integer 的缩写。

头文件: #include <stdlib.h>

参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零,

1 #include 
2 #include
3 4 //参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零 5 int atoi(const char *nptr) 6 { 7 if (!nptr) //空字符串 8 return 0; 9 10 int p = 0;11 while(isspace(nptr[p])) //清除空白字符12 p++;13 14 if (isdigit(nptr[p]) || '+' == nptr[p] || '-' == nptr[p]) //清除后第一个是数字相关15 {16 int res = 0;17 bool flag = true; //正负数标志18 19 //对第一个数字相关字符的处理20 if('-' == nptr[p])21 flag = false;22 else if('+' != nptr[p])23 res = nptr[p] - '0';24 25 //处理剩下的26 p++;27 while(isdigit(nptr[p]))28 {29 res = res * 10 + (nptr[p] - '0');30 p++;31 }32 33 if(!flag) //负数34 res = 0 - res;35 return res;36 } 37 else38 {39 return 0;40 }41 }42 int main() 43 { 44 using std::cin;45 using std::cout;46 using std::endl;47 48 cout << atoi("213") <
<< atoi("+2134") << endl << atoi("-342") <
<< atoi(" -45d") << endl49 <

转载于:https://www.cnblogs.com/jiayith/p/3912629.html

你可能感兴趣的文章
OPP Services Log
查看>>
JQuery增删改查
查看>>
android webview 全屏播放H5 (Playing HTML5 video on fullscreen in android webview)
查看>>
python的一些常用函数
查看>>
微信公众号教程(19)微信音乐播放器开发 中
查看>>
浏览器跨域问题
查看>>
部署WEB项目到服务器(二)安装tomcat到linux服务器(Ubuntu)详解
查看>>
SpringBoot之SpringBoot+Mybatis+Mysql+Maven整合
查看>>
SQLServer BI 学习笔记
查看>>
20160504-hibernate入门
查看>>
工作四周年
查看>>
sql定时自动备份(定时作业)
查看>>
Excel 2013 表格自用技巧
查看>>
ubuntu安装VNC、Xfce桌面
查看>>
浅析支付系统的整体架构
查看>>
二位数组
查看>>
unix文件权限
查看>>
Python 模拟鼠键
查看>>
2017-2018-2 20155224『网络对抗技术』Exp7:网络欺诈防范
查看>>
tomcat 搭建
查看>>