首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

类型转换有关问题,大家过来看

2012-02-10 
类型转换问题,大家过来看我在文件中写了一个16进制数0x00000001我读入了以后变成 0x00000001 请问在C语

类型转换问题,大家过来看
我在文件中写了一个16进制数0x00000001
我读入了以后变成 "0x00000001 "
请问在C语言中怎么把它变成1?

[解决办法]
char str[]= "0x00000001 ";
int i;

sscanf(str, "%x ", &i);
[解决办法]
当然楼主还可以这个函数strtol

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
char buf[]= "0x00000001 ";
int i;
i=(int)strtol(buf,NULL,16);
printf( "i=%d\n ",i);

return 0;
}
[解决办法]
#include <stdio.h>
#include <string.h>

int main()
{
char *p= "0x00000001 ";
int n = *(p+strlen(p)-1)- '0 ';
printf( "%d ",n);
return 0;
}

可以这样

热点排行