#include<stdio.h> #include<stdlib.h> /* 方案一,模拟KR书本的atoi int hexalpha_to_int(int c) { char hexalpha[] = "aAbBcCdDeEfF"; int i; int answer=0; for(i=0;answer==0&&hexalpha[i]!='/0';i++) if(hexalpha[i]==c) answer=10+(i/2); return answer; } unsigned int my_htoi(const char s[]) { unsigned int answer=0; int i=0; int valid=1; int hexint; if(s[i]=='0') { i++; if(s[i]=='x'||s[i]=='X') i++; } while(valid&&s[i]!=0) { answer = answer*16; if(s[i]>='0'&&s[i]<='9') answer+=s[i]-'0'; else { hexint=hexalpha_to_int(s[i]); if(hexint==0) valid=0; else answer+=hexint; } i++; } if(!valid) answer=0; return
htoi函数
最新推荐文章于 2024-03-20 15:18:30 发布