我有一个包含路径的文本文件。路径可以是任何东西,可以包含许多不同的异域字符。为了举例,我们说它包含了这个:
C:\России общий приговор\file.dat
现在我正在使用wifstream来获取这行......
wifstream myfile(path_to_txt_file);
wstring path = L"";
if (!getline(myfile, path)) cout << "Couldn't open file!" << endl;
当我想检查路径变量中的文件是否存在(我正在使用Boost,但它并不重要)时会出现问题,即使它存在,它也会返回0.
cout << boost::filesystem::exists(path) << endl; // 0
cout << boost::filesystem::exists(L"C:\\России общий приговор\\file.dat") << endl; // 1
在那里传递变量会返回0,但硬编码路径有效,发生了什么? 我是否需要设置一些区域设置?如果是这样,我如何让每个人都这样做?俄语,中文,瑞典语等。