char 转化unsigned int
本来我有个地址是写死了的,如下:
unsigned int addr = 0x804845c
但现在我要从配置文件里面把这个地址读出来再给addr赋值。
但0x804845c读出来放在字符串str里面,
然后把字符串赋值给addr,如何实现。
[解决办法]
读取文件到字符串就不说了, fgets 或者 fscanf 都可以
读取后的转化,可以这样:
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
[解决办法]
不错!
[解决办法]
楼主这么早就来发贴啊
不会一晚上没睡觉吧。