我在窗口下面的代码ruuning: –
#include <codecvt> void main() { wifstream myfile (argv[1],ios_base::in|ios_base::binary); myfile.imbue(std::locale(myfile.getloc(),new std::codecvt_utf16<wchar_t, 0xffff, consume_header>)); }
我想在linux下编译代码,但是不支持“codecvt”头文件,并且为codecvt_utf16和consume_header提供了错误代码,很less有人build议使用ICU或iconv头文件。但是我不知道如何使用它们。
请帮我replace可以运行在Linux的代码感谢和问候Vikas
std::codecvt
是<locale>
一部分。 它没有自己的标题。 给定的编译器可能会将其实现拆分,但子部分的名称是实现细节。
Poco :: UnicodeConvert实用程序能够处理通用的代码转换,并且它是可移植的。
例如:
字符串toUTF8(const Poco :: UTF16String&utf16String){字符串结果;
Poco::UnicodeConverter::convert(utf16String, result); return result;
}