C语言实现atoi和itoa(字符串与数字之间的转化)
2017-09-05 23:42
633 查看
#include <stdio.h> #include <assert.h> #include <string.h> #include <ctype.h> #include <stdlib.h> #include <vld.h> //字符转数字("123"->123,"12a3"->12,"a12"->0) 遇到字母就退出 int Myatoi(const char *str) { assert(str!=NULL); if(str==NULL) { return 0; } int sum = 0; while(isdigit(*str)) { sum = sum*10 + *str - '0'; str++; } return sum; } //数字转字符 123-》“123” void StrReverse(char *str) { char *p = str; char tmp; while(*p!='\0') { p++; } p--; for(;str<=p;str++,p--) { tmp = *str; *str = *p; *p = tmp; } } int GetFigure(int num) { int count=0; while(num!=0) { count++; num /= 10; } return count; } char *Myitoa(int num) { char *p=(char*)malloc(GetFigure(num)+1 * sizeof(char)); int i=0,j=0; while(num!=0) { p[i++] = num%10 + '0'; num /= 10; } p[i]='\0'; StrReverse(p); return p; } int main() { printf("%d\n",Myatoi("a12")); printf("%d\n",Myatoi("123")); printf("%d\n",Myatoi("12a3")); char str5[20]; printf("%s\n",Myitoa(123456789)); char *str = Myitoa(123456789); printf("%s\n",str); free(str); return 0; }
打印结果:
0
123
12
123456789
123456789
相关文章推荐
- c++实现atoi()和itoa()函数(字符串和整数转化)
- C语言实现将整数转化成字符串数,不用函数itoa
- 用C语言实现将一整型数字转化成为字符串
- 用汇编实现数字转化为字符串的函数itoa
- c++实现atoi()和itoa()函数(字符串和整数转化)
- c语言中怎么实现字符串转化数字的功能
- 不用库函数,用C语言实现将一整型数字转化为字符串
- C语言数字与字符串转换 atoi()函数、itoa()函数、sprintf()函数
- C语言数字与字符串转换 atoi()函数、itoa()函数、sprintf()函数
- C语言 编写一个c程序实现字符串到数字的转化
- 不用库函数,用C语言实现将一整型数字转化为字符串
- c++实现atoi()和itoa()函数(字符串和整数转化)
- 用c语言实现从一个只包含数字的字符串转化为和字符串一样的整数(比如从"12345"转化为整数12345)
- 不用库函数,用c语言实现将一整型数字转化为字符串
- C语言itoa()函数和atoi()函数详解(整数转字符C实现)
- 数字转化成字符串C语言
- 【c语言】递归 实现n^k,求非负整数各位数字之和,逆置字符串
- 关于数字转为字符串(itoa)和字符串转为数字(atoi)介绍及使用
- 指针实现字符串IP地址转化为十进制IP地址输出-c语言
- C语言将数字转化为字符串