为什么getPrivateProfileString()读不出ini内容?急!!!

时间:2022-04-01 04:24:54
一段VC6程序,里面用getPrivateProfileString()读ini文件,结果发现在不同机器中运行结果不同。在有些机器上可以正常读出ini中文件内容,而同样在另一些机器上读出的ini文件结果总是空字符串。各个机器上ini文件都一样,存放位置肯定无问题,程序肯定可以找到ini文件,就是读不出内容,为什么?谢谢!急!!!

9 个解决方案

#1


这个就奇怪了啊,这个API用很多次都很正常啊。

楼主把代码贴出来看看?

#2


先检查ini文件里到底有没有值,再下结论

#3


看看ini文件里面[]内容是否一样

#4


难道有ANSI与UNICODE之分

#5


会不会用getPrivateProfileString函数之前文件已经被打开了。。所以才读不出数据。。。

#6


我是楼主,估计是ANSI与UNICODE的不同,ini文件里肯定是有值的,没有问题。ini在打开和关闭的情况结果一致,能读的机器照样能读,不能读的机器照样不能读。

#7


把那段代码看下!!要不然都只能凭空猜

#8


那就要用MultiByteToWideChar或WideCharToMultiByte进行转换了

#9


ini文件好像被存储为非unicode格式。

#1


这个就奇怪了啊,这个API用很多次都很正常啊。

楼主把代码贴出来看看?

#2


先检查ini文件里到底有没有值,再下结论

#3


看看ini文件里面[]内容是否一样

#4


难道有ANSI与UNICODE之分

#5


会不会用getPrivateProfileString函数之前文件已经被打开了。。所以才读不出数据。。。

#6


我是楼主,估计是ANSI与UNICODE的不同,ini文件里肯定是有值的,没有问题。ini在打开和关闭的情况结果一致,能读的机器照样能读,不能读的机器照样不能读。

#7


把那段代码看下!!要不然都只能凭空猜

#8


那就要用MultiByteToWideChar或WideCharToMultiByte进行转换了

#9


ini文件好像被存储为非unicode格式。