如何在文件中的读取十六进制的数据
可以用
int x;
sfile >> x;
类似的语句读取整数,那么如何读取十六进制的数呢?
问题点数:20、回复次数:5Top
1 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2006-01-04 10:45:33 得分 5
Data is very data;
没有啥多少进制这一说的...不过是表现形式而已...Top
2 楼cyberHunK(→迈克·老猫←)回复于 2006-01-04 11:14:48 得分 5
如果你读取的是整形数据i,那你printf("%x',i);就是它的十六进制,进制是数据表现形式而已!Top
3 楼windking21(想玩玩WOW 真的那么难吗)回复于 2006-01-04 17:51:26 得分 5
一样计算机内部都是0&1Top
4 楼Maxdell(我想闪人!)回复于 2006-01-04 20:04:28 得分 5
给你段代码
long GetHex(char *hex)
{
long value=0;
if(*hex=='\0') return -1;
while(*hex!='\0')
{
value=value<<4;
if(*hex>='0' && *hex<='9') value+=*hex-'0';
else if(*hex>='a' && *hex<='f') value+=*hex-'a'+10;
else if(*hex>='A' && *hex<='F') value+=*hex-'A'+10;
else return -1;
hex++;
}
return value;
}
Top
5 楼weigoal(荆棘鸟)回复于 2006-01-05 10:16:18 得分 0
int x;
sfile >> hex >> x;
就行了,呵呵
Top




