atoi, itoa 字符串转换函数源代码
来源:互联网 发布:多态zpn mac 编辑:程序博客网 时间:2024/06/06 03:05
atoi 源代码
int isspace(int x) { if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r') return 1; else return 0; } int isdigit(int x) { if(x<='9'&&x>='0') return 1; else return 0; } int atoi(const char *nptr) { int c; /* current char */ int total; /* current total */ int sign; /* if '-', then negative, otherwise positive */ /* skip whitespace */ while ( isspace((int)(unsigned char)*nptr) ) ++nptr; c = (int)(unsigned char)*nptr++; sign = c; /* save sign indication */ if (c == '-' || c == '+') c = (int)(unsigned char)*nptr++; /* skip sign */ total = 0; while (isdigit(c)) { total = 10 * total + (c - '0'); /* accumulate digit */ c = (int)(unsigned char)*nptr++; /* get next char */ } if (sign == '-') return -total; else return total; /* return result, negated if necessary */ }
itoa
char * __cdecl _itoa (int val, char *buf, int radix){ if (radix == 10 && val < 0) xtoa((unsigned long)val, buf, radix, 1); else xtoa((unsigned long)(unsigned int)val, buf, radix, 0); return buf;}static void __cdecl xtoa (unsigned long val, char *buf, unsigned radix, int is_neg){ char *p; /* pointer to traverse string */ char *firstdig; /* pointer to first digit */ char temp; /* temp char */ unsigned digval; /* value of digit */ p = buf; if (is_neg) /* negative, so output '-' and negate */ { *p++ = '-'; val = (unsigned long)(-(long)val); } firstdig = p; /* save pointer to first digit */ do{ digval = (unsigned) (val % radix); val /= radix; /* get next digit */ /* convert to ascii and store */ if (digval > 9) *p++ = (char) (digval - 10 + 'a'); /* a letter */ else *p++ = (char) (digval + '0'); /* a digit */ } while (val > 0); /* We now have the digit of the number in the buffer, but in reverse order. Thus we reverse them now. */ *p-- = '\0'; /* terminate string; p points to last digit */ do { temp = *p; *p = *firstdig; *firstdig = temp; /* swap *p and *firstdig */ --p; ++firstdig; /* advance to next two digits */ } while (firstdig < p); /* repeat until halfway */}
- atoi, itoa 字符串转换函数源代码
- C++ atoi() itoa() 字符串-数字相互转换函数
- itoa和atoi整型和字符串转换
- ssprintf sscanf atoi itoa 整数字符串转换
- ssprintf sscanf atoi itoa 整数字符串转换
- C语言数字与字符串转换 atoi()函数、itoa()函数、sprintf()函数
- itoa与atoi源代码
- atoi() 函数与 itoa() 函数:字符串与数值之间的转换
- atoi和itoa函数
- atoi,itoa函数实现
- itoa和atoi函数
- atoi和itoa函数
- atoi ,itoa函数
- itoa 和 atoi 函数
- itoa()和atoi()函数
- atoi和itoa函数
- itoa、atoi 整型转字符串、字符串转整型的函数
- 编写整数字符串转化函数(不用itoa与atoi)
- asp.net 页面缓存
- 发个XNA中文字体生成的辅助小工具
- STL::bind1st STL::bind2st boost::bind
- Android Prelink实现的源码分析
- 计算机组成原理学习心得(二)
- atoi, itoa 字符串转换函数源代码
- C#中的DateTime:本周,本月,今年,本周
- uva 208 - Firetruck
- 2012C++程序设计实验报告【4.2】
- 解决 ORACLE 11.2 动态采样导致的性能问题
- 爱与被爱都是幸福的
- VBScript测试SQL Server 2005数据库连接
- [内存管理]智能指针shared_ptr与工厂函数相结合
- 浅谈RMXP自动地图元件的绘制原理