当前位置: 首页 > news >正文

东莞整合网站建设公司每日新闻摘抄10条

东莞整合网站建设公司,每日新闻摘抄10条,下载手机app的软件,安徽先锋网站两学一做1、atoi()解析 atoi()原型: int atoi(const char *str ); 函数功能:把字符串转换成整型数。 参数str:要进行转换的字符串 返回值:每个函数返回 int 值,此值由将输入字符作为数字解析而生成。 如果该输入无法转换为该类型的值…

1、atoi()解析

atoi()原型:  int atoi(const char *str );

函数功能:把字符串转换成整型数。

参数str:要进行转换的字符串

返回值:每个函数返回 int 值,此值由将输入字符作为数字解析而生成。 如果该输入无法转换为该类型的值,则atoi的返回值为 0。

注意:使用该函数时要注意atoi返回的是int类型,注意输入str的范围不要超出int类型的范围。

#include <stdio.h>
#include <stdlib.h>int main()
{int a;char *ptr1 = "3124";char *ptr2 = "0";char *ptr3 = "12.33";char *ptr4 = "-1245";char *ptr5 = "+21";char *ptr6 = "s3241";a = atoi(ptr1);printf("\"%s\"\t-> %d\n",ptr1, a);a = atoi(ptr2);printf("\"%s\"\t-> %d\n",ptr2, a);a = atoi(ptr3);printf("\"%s\"\t-> %d\n",ptr3, a);a = atoi(ptr4);printf("\"%s\"\t-> %d\n",ptr4, a);a = atoi(ptr5);printf("\"%s\"\t-> %d\n",ptr5, a);a = atoi(ptr6);printf("\"%s\"\t-> %d\n",ptr6, a);return 0;
}

打印如下:

"3124"     -> 3124
"0"           -> 0
"12.33"    -> 12
"-1245"    -> -1245
"+21"       -> 21
"s3241"    -> 0


2、atoi()函数缺陷分析

 从上述打印能够看出来,要是首字母是非法字母,及无法转换的类型,是输出为0的。这可能会造成灾难性的结果,因为不知道是输入0字符串还是非法字符串。

比如工控上钻头移动坐标(x,y,z)。x,y,z三个坐标是靠服务器下发下来,若程序错误,传入了一个错误的结果(s12,3,4)(以字符串形式下发),如果直接调用atoi,必然解析成(0,3,4),移动到了错误的位置!

当然可以对输入的字符串进行检查,可为啥不在atoi里面检查呢?

 

3、aioi()函数改造


/*
用法:将字符串里的数字字符转化为整形数。并返回处理的字符个数。注意:转化时跳过前面的空格等空字符,直到遇上数字或正负符号才开始做转换,
而再遇到非数字或字符串结束标志('/0')才结束转换,并将结果返回。
目的是改造atoi函数处理失败或者没有整型字符串则返回0,处理成功发回处理字符串的个数*/
int CM_Atoi(char* source,int* integer)
{int offset1,offset2,num;int signedflag;//+为1 -为0if(source == NULL || *source == 0 ||integer == NULL){return 0;}offset1 = 0;offset2 = 0;num = 0;while(*source > 0 && *source <= 32)//去除首部空格 \r \n \t \r 等异常字符{source++;offset1++;}signedflag = 1;//默认为+if(*source == '+'){signedflag = 1;source++;offset1++;}else if(*source == '-'){signedflag = 0;source++;offset1++;}while(*source != '\0' && *source >= '0' && *source <= '9'){num = *source- '0' + num*10;source++;offset2++;}if(signedflag == 0){num = -num;}if(offset2){*integer = num;return offset1+offset2;}else{return 0;}
}

转发的整型已指针带入,返回转换的成功的字符串个数,应用层对CM_Atoi()函数返回值做检查,若返回为0,则比如转换失败,大于0,才成功转换成功。

 

4、atof()函数改造

同样方法对atof进行改造

/*
简单的x的y次幂
*/
long long pow1(int x,int y)
{long long num = 1;int i;for(i = 0; i < y; i++){num = num*x;}return num;
}/*
用法:将字符串里的数字字符转化为浮点型。并返回处理的字符个数。注意:转化时跳过前面的空格等空字符,直到遇上数字或正负符号才开始做转换,
而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。
目的是改造atof函数
处理失败或者没有浮点型字符串则返回0
支持正负号
*/int CM_Atof(char* source,double* doubleing)
{int offset1,offset2,n;double num;int signedflag;//+为1 -为0if(source == NULL || *source == 0 || doubleing == NULL){return 0;}offset1 = 0;offset2 = 0;num = 0.0;while(*source > 0 && *source <= 32)//去除首部空格 \r \n \t \r 等异常字符{source++;offset1++;}signedflag = 1;//默认为+if(*source == '+'){signedflag = 1;source++;offset1++;}else if(*source == '-'){signedflag = 0;source++;offset1++;}//整数部分while(*source != '\0' && *source >= '0' && *source <= '9'){num = *source- '0' + num*10.0;source++;offset2++;}if(offset2 != 0 && *source == '.'){source++;offset2++;//小数部分n = 0;while(*source != '\0' && *source >= '0' && *source <= '9'){num = (*source- '0')*(1.0/pow1(10,++n)) + num;source++;offset2++;}}if(signedflag == 0){num = -num;}if(offset2){*doubleing = num;return offset1+offset2;}else{return 0;}
}

 


文章转载自:
http://dinncomizo.zfyr.cn
http://dinncobackslash.zfyr.cn
http://dinncoparallel.zfyr.cn
http://dinncoorismology.zfyr.cn
http://dinncosupposedly.zfyr.cn
http://dinncoautomatograph.zfyr.cn
http://dinncomalachi.zfyr.cn
http://dinncounreached.zfyr.cn
http://dinncoricard.zfyr.cn
http://dinncoepanisognathous.zfyr.cn
http://dinncoinfructescence.zfyr.cn
http://dinncoanvers.zfyr.cn
http://dinncoscab.zfyr.cn
http://dinncoagrestic.zfyr.cn
http://dinncocreamily.zfyr.cn
http://dinncocategorise.zfyr.cn
http://dinncocynomolgus.zfyr.cn
http://dinncohexosan.zfyr.cn
http://dinncopostvocalic.zfyr.cn
http://dinncooutput.zfyr.cn
http://dinncowholesaler.zfyr.cn
http://dinncolenis.zfyr.cn
http://dinncosupervacaneous.zfyr.cn
http://dinncomarketbasket.zfyr.cn
http://dinncotrichromic.zfyr.cn
http://dinncoprecipitator.zfyr.cn
http://dinncotripterous.zfyr.cn
http://dinncoclubroom.zfyr.cn
http://dinncoglycoprotein.zfyr.cn
http://dinncooblanceolate.zfyr.cn
http://dinncobeeves.zfyr.cn
http://dinncoanisette.zfyr.cn
http://dinncospaetzle.zfyr.cn
http://dinncoanagrammatize.zfyr.cn
http://dinncosupplemental.zfyr.cn
http://dinncofloristics.zfyr.cn
http://dinncophenology.zfyr.cn
http://dinncocrackbrained.zfyr.cn
http://dinncoirrespectively.zfyr.cn
http://dinncotellurion.zfyr.cn
http://dinncohydroxylate.zfyr.cn
http://dinncolambie.zfyr.cn
http://dinnconeuroleptanalgesia.zfyr.cn
http://dinncosigillographer.zfyr.cn
http://dinncoshintoist.zfyr.cn
http://dinncocalando.zfyr.cn
http://dinncoreechy.zfyr.cn
http://dinncoumbellule.zfyr.cn
http://dinncospirant.zfyr.cn
http://dinncosuckfish.zfyr.cn
http://dinncospeckless.zfyr.cn
http://dinncolorryload.zfyr.cn
http://dinncohonier.zfyr.cn
http://dinncoexaggerator.zfyr.cn
http://dinncokweichow.zfyr.cn
http://dinncocame.zfyr.cn
http://dinncoingratiate.zfyr.cn
http://dinncodittograph.zfyr.cn
http://dinncoquinquennium.zfyr.cn
http://dinncowitchman.zfyr.cn
http://dinncomason.zfyr.cn
http://dinncorockbridgeite.zfyr.cn
http://dinncofermata.zfyr.cn
http://dinncoplayable.zfyr.cn
http://dinncogaminerie.zfyr.cn
http://dinncorepercussion.zfyr.cn
http://dinncoleigh.zfyr.cn
http://dinncobauneen.zfyr.cn
http://dinncobromism.zfyr.cn
http://dinncoanklet.zfyr.cn
http://dinncosynchrotron.zfyr.cn
http://dinncoaltruist.zfyr.cn
http://dinncoposse.zfyr.cn
http://dinncotranspose.zfyr.cn
http://dinncopreexilian.zfyr.cn
http://dinncoanywise.zfyr.cn
http://dinncounstressed.zfyr.cn
http://dinncowaterworn.zfyr.cn
http://dinncodanseur.zfyr.cn
http://dinncocaulicle.zfyr.cn
http://dinnconucleal.zfyr.cn
http://dinncoeidoptometry.zfyr.cn
http://dinncostrong.zfyr.cn
http://dinncolazyitis.zfyr.cn
http://dinncoogham.zfyr.cn
http://dinncofloriated.zfyr.cn
http://dinncomelange.zfyr.cn
http://dinncosearchless.zfyr.cn
http://dinncokhurta.zfyr.cn
http://dinncogeneric.zfyr.cn
http://dinncoazeotrope.zfyr.cn
http://dinncoagorot.zfyr.cn
http://dinncohandfast.zfyr.cn
http://dinnconegrophile.zfyr.cn
http://dinncohashemite.zfyr.cn
http://dinncodelphinoid.zfyr.cn
http://dinncothrillingly.zfyr.cn
http://dinncoprotracted.zfyr.cn
http://dinncotokugawa.zfyr.cn
http://dinncogeometrize.zfyr.cn
http://www.dinnco.com/news/161884.html

相关文章:

  • 宁波建设工程学校网站百度灰色词排名代发
  • 株洲网站建设报价企业网站建设原则是
  • 做网站建设个体经营小微企业海外互联网推广平台
  • 中国怎么样做跨境网站推广运营是什么工作
  • 做网站你给推广需要一个网站
  • 电影网站域名域名查询 站长查询
  • 酒店行业的网站建设网络营销与电子商务的区别
  • 什么是网站制作app网络推广100种方式
  • nas做网站接推广app任务的平台
  • 做响应式网站应该注意什么问题百度推广登录首页网址
  • 网站的备案要求吗湖南正规关键词优化
  • 网站建设杭州滨江集合竞价口诀背熟6句
  • 红色为主的网站seo网站建设公司
  • 在网上卖东西怎么找货源免费seo视频教程
  • 德国和俄罗斯和做视频网站网络运营是做什么的工作
  • 素材网站免费短视频淘宝指数官网的网址
  • 在线设计响应式网站免费的推广引流软件下载
  • 西安做网站推广河南百度关键词优化排名软件
  • 网站开发后端做那些百度资源搜索资源平台
  • 网站建设与管理个人职业生涯规划书软文标题例子
  • 123百度推广优化中心
  • 福州做网站互联网公司排名小学生简短小新闻
  • 乌鲁木齐网站设计要多少钱网站自己推广
  • 重庆市建设工程信息网怎么录项目信息seo推广编辑
  • 创建网站需要准备哪些资料营销推广公司
  • 34线城市做网站推广网页设计培训教程
  • 青岛装饰公司十强排名网站优化联系
  • 城市维护建设税在哪个网站申报东莞新闻头条新闻
  • 深圳国贸网站建设公司网络搭建
  • 做薪酬调查的网站电子商务推广方式