atoi和itoa的实现
来源:互联网 发布:mac系统numbers教程 编辑:程序博客网 时间:2024/05/20 11:51
#include <cruntime.h>#include <stdlib.h>#include <ctype.h>long __cdecl atol(const char *nptr){int c;long total;int sign;while ( isspace((int)(unsigned char)*nptr) )++nptr;c = (int)(unsigned char)*nptr++;sign = c;if (c == ''-'' || c == ''+'')c = (int)(unsigned char)*nptr++;total = 0;while (isdigit(c)) {total = 10 * total + (c - ''0'');c = (int)(unsigned char)*nptr++;}if (sign == ''-'')return -total;elsereturn total;}int __cdecl atoi(const char *nptr){return (int)atol(nptr);}#ifndef _NO_INT64__int64 __cdecl _atoi64(const char *nptr){int c;__int64 total;int sign;while ( isspace((int)(unsigned char)*nptr) )++nptr;c = (int)(unsigned char)*nptr++;sign = c;if (c == ''-'' || c == ''+'')c = (int)(unsigned char)*nptr++;total = 0;while (isdigit(c)) {total = 10 * total + (c - ''0'');c = (int)(unsigned char)*nptr++;}if (sign == ''-'')return -total;elsereturn total;}#endif#include <msvcrt/errno.h>#include <msvcrt/stdlib.h>#include <msvcrt/internal/file.h>char* _itoa(int value, char* string, int radix){char tmp[33];char* tp = tmp;int i;unsigned v;int sign;char* sp;if (radix > 36 || radix <= 1){__set_errno(EDOM);return 0;}sign = (radix == 10 && value < 0);if (sign)v = -value;elsev = (unsigned)value;while (v || tp == tmp){i = v % radix;v = v / radix;if (i < 10)*tp++ = i+''0'';else*tp++ = i + ''a'' - 10;}if (string == 0)string = (char*)malloc((tp-tmp)+sign+1);sp = string;if (sign)*sp++ = ''-'';while (tp > tmp)*sp++ = *--tp;*sp = 0;return string;}
0 0
- atoi和itoa的实现
- atoi和itoa的实现
- atoi 和itoa的实现
- atoi和itoa的实现
- atoi 和 itoa的实现
- atoi和itoa的实现
- atoi 和itoa实现
- atoi 和 itoa实现
- 实现itoa()和atoi()
- atoi() itoa() 的实现
- atoi和itoa的C实现
- atoi()和itoa()的标准源码实现
- atoi()和itoa()的标准源码实现
- atoi和itoa的C++实现
- atoi()和itoa()的标准源码实现
- atoi和itoa函数的实现
- atoi和itoa的编程实现
- atoi和itoa函数的实现方法
- 用java基础实现绘制点自动连接成线、三角形、多边形
- 如何测试CTS4.2
- 修改MyEclipse 10的Servlet模版
- Android开发中请求URL中参数含有中文和空格的解决方法
- char*,const char*和string的相互转换
- atoi和itoa的实现
- 设计模式汇总
- linux内核模块的安装与卸载
- 《高效学习OpenGL》之缓冲区对象 glGenBuffers(), glBindBuffer(), glBufferData(),glMapBuffer()
- 使用wxWidgets如何获得所有的字体
- 【编程工具系列】在Windows下使用gcc编译器
- 去除字符串中的数字,字符串不多于30
- Android中onNewIntent()方法触发和使用
- MySQL语法大全