关于GetPrivateProfileInt函数,发现实机运作与MSDN中记述不同的问题,找了一下,果然有CSDN论坛中早有人发现。
下面是一种广为流传的说法——
如果 Key 值没有找到的话,返回值是 nDefault 指定的缺省值,如果 Key 中的值是负数,则返回 0,如果 Key 指定的是数字和字符串的混合,则返回数字部分的值,比如说 x=1234abcd,则返回 1234
实际上,上面红字部分是错误的,负数也照样可以返回负数的哦。
只是因为该函数的原型返回类型为UINT,因为它是无符号(unsigned),返回值最高位是1,也就是负数的意思啦。
上面帖子中,@hpp_124 说“你知道吗,写msdn的是人,而不是神!”,赞同啊。
又查了一下,就连日文版本MSNDN中也有上面一样的错误记述,不过目前最新的英文原版(下面链接)已经没有这个问题,所以可以判断为较旧英文原版的问题。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724345(v=vs.85).aspx