我们处于一种情况,即我们的程序可以在某些计算机上运行,而不能在其他计算机上运行。我们使用ANSI版本的GetTempPath确定了问题所在。在非英语操作系统中失败。到目前为止,一切都很好。但是,我们的代码可在“某些”计算机上运行,并且测试应用程序的结果不一致。看来,如果TEMP路径具有非英语字符,例如TEMP = E:/टेम्प,则在某些计算机上,GetTempPath返回E:/ ???。然后在以后尝试打开该文件夹上的文件失败。是的。易于修复-使用API的unicode版本。
但是在其他一些计算机上,它返回正确的编码,因此最终文件打开成功。
我在这些计算机上检查了ACP,它是1252。1252如何编码非英语字符?
这已成为讨论的话题-我们的程序一直如何运作?这样的错误应该早就已经报告过了。