目录
一、将字符转换为数字。
二、将数字转换成字符。
一、将字符转换为数字。
(首先字符必须是"0" —"9",然后转换成十进制的数字)
比如将"1234" 转换成 1234
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include <locale>int Atoi(char *str,int len)
{assert(str != NULL);int i= 0;int flag = 1;//符号位int tmp =0;for( ; i<len ;i++){if(str[i] == '-'){flag = -1;}if(isdigit(str[i])) {str[i] -='0'; tmp = tmp *10 + str[i] ;}}return tmp * flag;
}int main()
{char str[] = "1234";int len = sizeof(str)/sizeof(str[0]);printf("%d\n",Atoi(str,len));return 0;
}
二、将数字转换成字符。
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>//求数字的位数
int Len(int n)
{int len = 0;while(n!= 0){if(n == 0 ){return 1;}else{n/=10;len++;} }return len;
}
char *Itoa(int n)
{int len = Len(n);char *des= (char*)malloc(sizeof(char)*(len+1));des[len] = '\0';for(int i = len-1;i >= 0;i--){des[i] = (n%10+'0');n/=10;}return des;
}int main()
{int n =1234;char *des = Itoa(n);printf("%s\n",des);free(des);return 0;
}