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

char 转化unsigned int解决方案

2012-02-25 
char 转化unsigned int本来我有个地址是写死了的,如下:unsigned int addr 0x804845c但现在我要从配置文

char 转化unsigned int
本来我有个地址是写死了的,如下:
unsigned int addr = 0x804845c

但现在我要从配置文件里面把这个地址读出来再给addr赋值。
但0x804845c读出来放在字符串str里面, 

然后把字符串赋值给addr,如何实现。

[解决办法]
读取文件到字符串就不说了, fgets 或者 fscanf 都可以

读取后的转化,可以这样:

C/C++ code
    char str[]="0x804845c";   //这个是从文件中读取的    unsigned int addr;    addr= (unsigned int)strtol(str, NULL, 16);  //转化一下    printf("addr = 0x%x\n", addr);  //OK
[解决办法]
另外,一个疑问:

为什么要读取到char[] 中?

文件中的 0x804845c 也完全可以使用:
fscanf(fp, "%u", &addr);
直接读取一个数值类型的 0x804845c 嘛
[解决办法]
或许是楼主碰到了类似的习题,要求从文件读取吧
其实从文件中读取 方法有很多,c语言里面提供了比如fgetc fgets fscanf等等的函数,如果有msdn的话可以查一下他们用法

[解决办法]
呵呵。问题都OK了,来接分
[解决办法]
lai le jf.:)
[解决办法]
jf
[解决办法]
不错!
[解决办法]
楼主这么早就来发贴啊
不会一晚上没睡觉吧。

热点排行