【发布时间】:2013-12-10 02:57:45
【问题描述】:
我想使用 fscanf 来检查是否有十六进制数。 比如我想调用
if(fscanf(file,"%x", &u))
就像人们可以用字符串和整数来调用它一样。问题是这样的: 首先,你应该是什么类型? 其次,一旦我得到这个十六进制,即如果 if 语句通过,我如何将 u 转换为整数?
注意: 我想要
if(fscanf(file, "%x", &u) == 1)
如果读入的数字是 0x__ 则为真,否则为假。 我试过了
if(fscanf(file, "0x%x", &u) == 1)
但是对于十六进制数字返回 false
【问题讨论】:
-
你知道吗,不管你怎么称呼它,无论是
char、int、float,还是其他任何东西,归根结底,对于计算机来说,它都是二进制的? -
是的,我知道。但我需要将此数字转换为 int 类型,以便稍后测试 int