在VC6编译器中打开包含Unicode字符的文件名

时间:2014-09-16 03:31:37

标签: c++ unicode vc6

我们有一个基于VC6编译器的维护项目。在代码的某些部分,我们使用ifstream.open()方法有一个文件打开函数,当文件名包含像中文字符这样的UNICODE字符时,该方法会失败。由于VC6编译器不支持wchar_t *版本的open函数,有没有办法可以打开这种类型的文件?我也尝试了FILE * _wfopen方法,但也失败了。

提前致谢

根据RemyLebeau的指导 - 我尝试使用errno,我得到的值为22表示无效参数。请看我的代码     std :: wstring filename = _wgetenv(L“IVT_FILENAME”);     FILE *流;     流= _wfopen(filename.c_str()中,L “R”);

这在vc9中工作得很好,文件打开,我能够读取内容。不知道为什么它在vc6中不起作用。 stream的值为NULL

1 个答案:

答案 0 :(得分:0)

实际问题是_ getenv函数。它在VC6编译器中无法正常工作。用GetEnvironmentVariable替换它可以解决问题并打开文件