yjm0105 阅读(873) 评论(2)
1.atoi(),atol()/strtol(),atof()/strtod()等函数分别将字符串转成int,long,double型的数.
2._itoa(),_ltoa()分别将int,long型的数转成字符串.
3.使用CString::Format(),fscanf()能产生更多的格式化字符串(函数具体用法参见MSDN)
4.十六进制串转10进制数
#include <string.h>
int htoi(char ch[])   {
 int result=0; 
 int tmp=0;
        int i=0;
        if(ch[0]=='0' && ch[1] | 32=='x')
             i=2;
        int len=strlen(ch);
 for(;i<len;i++)
 {
  tmp=ch[i] | 32;
  if(tmp>='a' && tmp <='f')
   tmp=tmp-'a'+10;
  else if(tmp>='0' && tmp <='9')
   tmp=tmp-'0';
  else
   return -1;
  result=(result<<4)+tmp;
 }
 return result;
}

评论列表
流云
re: 悠然我心
“|32”把大写字母变成小写字母,如:'A'(0x41) , 'a'(0x61) ,则'A'|32 →
0x41 | 0x20 → 0x61 → 'a' .这样可以接受大(小)写的16进制字符串.
spring
re: 进制、字符串转换
怎样实现任意进制间的转换

发表评论
切换编辑模式