网易首页 > 网易号 > 正文 申请入驻

【未来虫教育】C语言进阶之路:字符串与整数之间的转换!

0
分享至



在C语言中,我们经常面临需要将字符串转换为整型,以及将整型转化为字符串的问题。

将字符串转换为整数的函数在stdlib.h中定义:

int atoi(const char *str);

atoi函数会跳过str中前面出现的空格,从第一个数字开始转换。下面是我的实现:






要注意的几点:

1.参数检验。始终要放在最开始,在输入是指针的情况下,永远不要忘记首先检验是否是NULL指针;

2.字符串开始处的空格(我还加入了制表符)要注意跳过;

3.符号,不要忘了数字字符串第一个字符可能出现加号和减号!

对于将数字转换为字符串,c标准中并没有定义(itoa只是在一些编译器中自己定义)。c标准中没有定义的原因我觉得是数字转成字符串可以使用sprintf格式化输出函数来完成。当然我们可以自己编写一个itoa函数。这里的参数原型参照的是vc中定义的itoa:






当然,一般情况下我们使用sprintf就可以完成任务啦:

char num[32];

sprintf(num,"%d",12345);

C/C++中把字符串转换成整数,把整数转换成字符串

#include

. 这个是头文件

long atoi(char *); 这个是把字符转换整数

double atof(char *); 这个是转换浮点

char itoa(int i); 把整数转为字符串

itoa 网友写的思路源码,把整数换成字符,sign判断正负数,不过这




还有一个 ,这个函数有3个参数,第一转换的数,第二是转换后的字符,第三是进制,不过这个函数没有把STRING倒序

char * itoa(int value ,char *string, int radix)

char *psLetter="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

while( value%radix != 0 )

*string++ = psLetter[value%radix];

value=value/radix;

*string=0;

下面这个用递归算法,解决倒序问题。VC6.0上测试可用。

#include

#include

char* itoa(int value ,char * string ,int radix)

if (value < 0)

*string = '-';

value = abs(value);

itoa(value,string+1,radix);

return string ;

if (value%radix == 0 && value/radix == 0) return string;

string = itoa(value/radix,string,radix);

if (value % radix >10) *string ='A'+value%radix-10;

else *string = '0' + value%radix;

*(string+1) = NULL;

return string+1;

void main(void)

int a;

char s[25];

a = -15;

itoa(a,s,10);

printf("%s",s);

getchar();

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
媒体人:大连实德曾因无法准入而解散,广州队也倒在了准入门槛前

媒体人:大连实德曾因无法准入而解散,广州队也倒在了准入门槛前

直播吧
2025-01-06 14:46:10
上海33岁男子尿毒症晚期,临终前坚决不见父亲,这究竟是为何?

上海33岁男子尿毒症晚期,临终前坚决不见父亲,这究竟是为何?

深析古今
2025-01-06 15:33:59
约满!排队5小时!浙江商家:客流飙升,忙到凌晨才下班…至少持续到春节

约满!排队5小时!浙江商家:客流飙升,忙到凌晨才下班…至少持续到春节

浙江之声
2025-01-05 17:51:07
白百何的性感才叫不露声色!穿皮衬只系2粒扣,隐隐约约最迷人

白百何的性感才叫不露声色!穿皮衬只系2粒扣,隐隐约约最迷人

南城无双
2024-12-18 00:34:18
银行股跳水,上海银行跌近4%

银行股跳水,上海银行跌近4%

每日经济新闻
2025-01-06 10:13:05
段永平重回浙大谈投资:不能用自己的必需资金去赌一个不需要的钱

段永平重回浙大谈投资:不能用自己的必需资金去赌一个不需要的钱

澎湃新闻
2025-01-06 09:51:04
哈尔滨男子请20名同学吃饭,点6瓶拉菲2桌海鲜,结账全场傻眼

哈尔滨男子请20名同学吃饭,点6瓶拉菲2桌海鲜,结账全场傻眼

一个人讲故事
2024-01-31 17:51:19
小三挺着大肚子逼我离婚,老公冲上去连扇她耳光,还骂她脑残

小三挺着大肚子逼我离婚,老公冲上去连扇她耳光,还骂她脑残

听风成曲
2023-12-25 22:24:17
美政坛大地震!拜登犯下“叛国罪”!特朗普当不成总统了?

美政坛大地震!拜登犯下“叛国罪”!特朗普当不成总统了?

寰球视听
2025-01-06 15:15:21
台球女助教摆球时被客人一杆轰骨折,赔偿还在协商

台球女助教摆球时被客人一杆轰骨折,赔偿还在协商

懂球帝
2025-01-05 15:42:14
我们的宇宙为何会存在?宇宙未来也会走向终结吗?

我们的宇宙为何会存在?宇宙未来也会走向终结吗?

宇宙时空
2025-01-05 15:45:34
西城新街口学区,跌幅第四!

西城新街口学区,跌幅第四!

马蹄烫嘴说美食
2025-01-06 13:57:32
四川:妈妈趁儿子洗澡强行闯入拍视频,儿子吓得不知所措:太窒息

四川:妈妈趁儿子洗澡强行闯入拍视频,儿子吓得不知所措:太窒息

唐小糖说情感
2025-01-05 19:56:36
金建希遛狗和路人吵架,差点被捕,尹锡悦心疼了,两口子真不低调

金建希遛狗和路人吵架,差点被捕,尹锡悦心疼了,两口子真不低调

西楼知趣杂谈
2025-01-06 12:15:20
进攻端也找到了感觉!湖人锋线新援可能马上就要进入先发了?

进攻端也找到了感觉!湖人锋线新援可能马上就要进入先发了?

稻谷与小麦
2025-01-06 16:17:24
蔡斌错用五位球员,一人单场狂飞11个一传,一人被印尼联赛退货

蔡斌错用五位球员,一人单场狂飞11个一传,一人被印尼联赛退货

小鱼儿嘴球
2025-01-05 23:26:49
中美贸易战又升级了!今日凌晨的四大消息全面袭来(1.6)!

中美贸易战又升级了!今日凌晨的四大消息全面袭来(1.6)!

户外钓鱼哥阿旱
2025-01-06 10:55:56
大瓜!曝中国男足球员张玉全与数百女性发生关系+拍视频+多人怀孕

大瓜!曝中国男足球员张玉全与数百女性发生关系+拍视频+多人怀孕

天行舰
2025-01-06 00:00:08
上映10天票房还是0元,国家三级演员主演新片惨败

上映10天票房还是0元,国家三级演员主演新片惨败

影视原说a
2025-01-06 10:49:56
仅8.97万!东风标致408官宣降价2.9万元,还买“马路三大妈”?

仅8.97万!东风标致408官宣降价2.9万元,还买“马路三大妈”?

优视汽车
2025-01-04 17:16:30
2025-01-06 17:32:49
原画在线课堂vv
原画在线课堂vv
一家有温度的原画教育机构
1298文章数 1关注度
往期回顾 全部

科技要闻

国内至少50团队研发AI眼镜 但无核心卖点

头条要闻

多人称在小程序买购物卡后公司失联不发货 涉案百万元

头条要闻

多人称在小程序买购物卡后公司失联不发货 涉案百万元

体育要闻

阿诺德的心飞到马德里了?

娱乐要闻

突发!演员星星泰国试戏失踪,曾发求救

财经要闻

瑞立科密销售模式信披或"偷梁换柱"

汽车要闻

10万元级无图智驾 悦也PLUS全路况实测

态度原创

时尚
游戏
本地
艺术
公开课

中年女人冬季要会穿搭,用这些单品塑造简约美,优雅高级又耐看

是用AI发的?GS再发《夺宝奇兵》解锁时间引玩家疑惑

本地新闻

云游中国|冰雪“祁”缘照进现实,谁懂多震撼

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版