gpt4 book ai didi

C++ 在 Linux 上使用 wstring_convert

转载 作者:行者123 更新时间:2023-11-27 23:45:31 28 4
gpt4 key购买 nike

我希望能够将从文件中读取的文本转换为多字节字符。我在 Windows 上有以下适用于我的 C++ 代码。当我尝试在 Linux 上编译代码时失败了。

#include <locale>
....
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> utfconv;
std::string line;
while (std::getline(infile, line))
{
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> utfconv;
std::wstring widestr = utfconv.from_bytes(line);

这会引发以下错误:

wstring_convert is not a member of std
codecvt_utf8_utf16 is not a member of std
expected primary-expression before wchar_t

我使用的是 GCC Red Hat 4.4.7-4。根据我阅读的内容,我已经导入了“locale”,但它仍然找不到。

如果 wstring_convert 不可用,我可以做一些等效的事情吗?

最佳答案

很可能您的标准设置不正确。 std::wstring_convert 首次在 C++11 中引入,在 C++17 中弃用,因此需要添加编译器标志 -std=c++11-std=c++14

编辑:刚刚看到您正在使用的 GCC 版本。它已经过时了。如果您下载 GCC 4.9.x 或更高版本,一切都应该可以正常工作

关于C++ 在 Linux 上使用 wstring_convert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50867257/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com