读书人

char 转化unsigned int解决方案

发布时间: 2012-02-25 10:01:48 作者: rapoo

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
[解决办法]
不错!
[解决办法]
楼主这么早就来发贴啊
不会一晚上没睡觉吧。

读书人网 >C语言

热点推荐