atoi及itoa的简略实现
来源:互联网 发布:mac wps office 编辑:程序博客网 时间:2024/06/11 09:52
itoa是非标准C语言和C++语言扩展函数。由于它不是标准C/C++语言函数,所以不能在所有的编译器中使用。但是,大多数的编译器会在<stdlib.h>/<cstdlib>头文件中包含这个函数。
功能:将任意类型的数字转换为字符串。在<stdlib.h>中与之有相反功能的函数是atoi。(标准库中有sprintf,功能比这个更强)
本列没考虑浮点型等数,只做了简略的功能实现;
itoa()的实现代码:
#include <stdio.h>void my_itoa(int n, char arr[]){ int sign = n; //标记数字 int i = 0,j = 0; if(sign < 0) //如果输入的数为负数,变为正数 { n = -n; } do{ arr[i++] = n % 10 + '0'; //ASCII码中字符数字相差48,+ '0'是保证可移植性 }while((n /= 10) >0); // 取下一个数 if(sign < 0) { arr[i++] = '-'; //如果为负数,加负号 } arr[i] = '\0'; //最后一位加结束符号 for(j = i;j >= 0;j--) //截取时为逆序,所以要再逆序输出 { printf("%c",arr[j]); }}int main(){ int n; char arr[100] = {0}; printf("input num:\n"); scanf("%d",&n); printf("string:\n"); my_itoa(n,arr); printf("\n");}
atoi()的简略实现代码:
#include <stdio.h>int main(){ unsigned char *p = "1234"; unsigned int date = 0; unsigned int my_atoi(unsigned char *p); date = my_atoi(p); printf("%d\n",date); return 0;}unsigned int my_atoi(unsigned char *p){ unsigned int date = 0; while(1) { if(*p == '\0') { break; } date = (int)*p - '0' +(date * 10);//ASCII 码中字符和数字相差48 p++; } return date;}
阅读全文
0 0
- atoi及itoa的简略实现
- atoi及itoa 实现
- atoi() itoa() 的实现
- atoi 及 itoa 的使用
- atoi和itoa的实现
- 函数atoi,itoa 的实现
- atoi 与 itoa的实现
- itoa与atoi的实现
- atoi和itoa的实现
- 函数atoi,itoa 的实现
- atoi 与 itoa的实现
- atoi 和itoa的实现
- atoi & itoa的c实现
- atoi和itoa的实现
- atoi 和 itoa的实现
- atoi和itoa的实现
- itoa和atoi的用法及功能
- atoi() & itoa()函数的内部的实现
- 10.OD-强制在OEP前加载dll
- TCP/IP详解学习笔记(6)-UDP协议
- 二插排序树
- Python的列表等变量的声明必须要在函数定义与函数调用之前
- wamp环境配置
- atoi及itoa的简略实现
- python:利用smtplib模块发送邮件
- 装饰模式+工厂模式+模板模式
- Python正则表达式使用详情
- TCP/IP详解学习笔记(7)-广播和多播,IGMP协议
- 待研究问题
- Node.js 创建函数 exports和module.exports之间的不同
- TCP/IP详解学习笔记(8)-DNS域名系统
- 正则表达式