wstring相关内容

什么是“错"?使用 C++ wchar_t 和 wstrings?宽字符有哪些替代方法?

我在 C++ 社区中看到很多人(尤其是 freenode 上的##c++)对 wstrings 和 wchar_t 的使用以及它们在 windows 中的使用感到不满api.wchar_t 和 wstring 到底有什么“错误",如果我想支持国际化,宽字符有哪些替代方案? 解决方案 什么是wchar_t? wchar_t 的定义使得任何语言环境的 char 编码都可以转换为 wcha ..
发布时间:2022-01-18 12:56:23 C/C++开发

将 wstring 转换为以 UTF-8 编码的字符串

我需要在 wstring 和 string 之间进行转换.我发现,使用 codecvt facet 应该可以解决问题,但它似乎不适用于 utf-8 语言环境. 我的想法是,当我将 utf-8 编码文件读取为字符时,一个 utf-8 字符被读取为两个普通字符(这就是 utf-8 的工作原理).我想从我在代码中使用的库的 wstring 表示创建这个 utf-8 字符串. 有人知道怎么做吗 ..
发布时间:2021-12-28 16:34:21 C/C++开发

什么是“错"使用 C++ wchar_t 和 wstrings?宽字符有哪些替代方案?

我在 C++ 社区中看到很多人(尤其是 freenode 上的##c++)对 wstrings 和 wchar_t 的使用以及它们在 windows 中的使用表示不满接口.wchar_t 和 wstring 到底有什么“错误",如果我想支持国际化,有哪些宽字符的替代方案? 解决方案 wchar_t 是什么? wchar_t 的定义使得任何语言环境的 char 编码都可以转换为 wch ..
发布时间:2021-12-17 23:31:39 C/C++开发

将 Unicode UTF-8 文件读入 wstring

如何在 Windows 平台上将 Unicode (UTF-8) 文件读入 wstring(s)? 解决方案 在 C++11 支持下,您可以使用 std::codecvt_utf8 facet 封装了UTF-8编码的字节串与UCS2或UCS4字符串之间的转换,可用于读写UTF-8文件, 文本和二进制. 为了使用facet,您通常会创建区域设置对象 将特定于文化的信息封装为一组共同定义 ..
发布时间:2021-12-09 20:17:45 C/C++开发

C++ 将字符串(或 char*)转换为 wstring(或 wchar_t*)

string s = "おはよう";wstring ws = FUNCTION(s, ws); 我如何将 s 的内容分配给 ws? 搜索谷歌并使用了一些技术,但他们无法分配确切的内容.内容失真. 解决方案 假设您示例中的输入字符串 (おはよう) 是 UTF-8 编码的(从外观上看它不是,但让我们假设正是为了这个解释 :-)) 表示您感兴趣的 Unicode 字符串,那么您的问题可以 ..
发布时间:2021-12-01 15:34:43 C/C++开发

std::wstring VS std::string

我无法理解 std::string 和 std::wstring 之间的区别.我知道 wstring 支持宽字符,例如 Unicode 字符.我有以下问题: 我什么时候应该使用 std::wstring 而不是 std::string? std::string 能否保存整个 ASCII 字符集,包括特殊字符? 所有流行的 C++ 编译器都支持 std::wstring 吗? 什么是“宽 ..
发布时间:2021-12-01 15:00:54 C/C++开发

查找 std::wstring 的长度

如何确定 std::wstring 中的长度(字符数)? 使用 myStr.length() 给出字节大小(我认为)但不是字符数.我是否需要创建自己的函数来查找字符数或是否有本机 C++ 方式或本机 WinAPI 方式? 解决方案 std::wstring::length() 会给你字符数,其中 character被定义为wstring 对象的原子单位,即一个wchar.这就是标准在 ..
发布时间:2021-09-25 19:13:46 C/C++开发

如何获得 std::wstring 的字节大小?

我使用 std::wstring 作为我的 Unicode 样式字符串.现在我想得到wstring 的字节大小.如果我使用 wstring 的 size() 方法,我只会得到字符的总数在我的 wstring 中.但是字节应该是 size() * 2.有没有官方的方法来获得这个字节大小?我不想使用size() * 2 在我的程序中..... 我想在 RegSetValueExW 中使用作为最后 ..
发布时间:2021-09-25 18:58:52 C/C++开发

将 std::wstring 拆分为 std::vector

这个问题展示了如何使用单个字符分隔符将string分割成vector. 问题:拆分 std::string 的正确方法转化为向量 然而,将这种技术应用于 wstring 并不像我想象的那么容易.因此这绝对不是重复的! wstringstream stringStream(str);istream_iterator开始(字符串流);istream_iterator结尾;List = v ..
发布时间:2021-09-17 19:08:41 C/C++开发

C++ 不能将字符串转换为 wstring

我想将字符串变量转换为 wstring,因为一些德语字符会在对变量执行 substr 时导致问题.当任何这些特殊字符出现在起始位置之前时,起始位置就会被伪造.(例如:对于 "ä" size() 返回 2 而不是 1) 我知道以下转换有效: wstring ws = L"ä"; 既然我正在尝试转换一个变量,我想知道是否有替代方法,例如 wstring wstr = L"%s"+str// ..
发布时间:2021-09-01 18:41:52 服务器开发

C++ 中的可移植 wchar_t

C++ 中有可移植的 wchar_t 吗?在 Windows 上,它是 2 个字节.其他的都是 4 个字节.我想在我的应用程序中使用 wstring,但如果我决定直接移植它,这会导致问题. 解决方案 如果您正在处理程序内部的使用,请不要担心;A 类中的 wchar_t 与 B 类中的相同. 如果您计划在 Windows 和 Linux/MacOSX 版本之间传输数据,那么您需要担心的 ..
发布时间:2021-06-18 20:15:18 C/C++开发

如何在Linux API中使用wstring?

我想在Linux中开发应用程序.我想使用wstring,因为我的应用程序应该支持unicode,并且我不想使用UTF-8字符串. 在Windows操作系统中,使用wstring很容易.因为任何ANSI API都具有unicode格式.例如有两个 CreateProcess API,第一个 API 是 CreateProcessA,第二个 API 是 CreateProcessW. wst ..
发布时间:2021-05-29 23:19:14 服务器开发

UTF-8输入有问题

我的简单代码输出时日语字符没有问题,但是由于某种原因,它不能正确输入,是否缺少某些东西? int main(){_setmode(_fileno(stdout),_O_U16TEXT);SetConsoleCP(CP_UTF8);std :: wstring s = L“こんにちは,世界!\ n你好,世界!";std :: wcout ..
发布时间:2021-04-20 19:04:01 C/C++开发

C ++ lpcwstr转换为wstring

我想在C ++(VS 2010)中将LPCWSTR转换为wstring.我想在OutputDebugStringW()中使用它. 谢谢. 解决方案 只需将 LPCWSTR 传递给 wstring 的构造函数,如下所示: LPCWSTR str = L"fun";wstring str2(str); ..
发布时间:2021-04-19 19:50:59 C/C++开发

将getline与unicode文件一起使用时出现问题

更新:谢谢@Potatoswatter和@Jonathan Leffler的评论-令人尴尬的是,我被调试器工具提示所吸引,没有正确显示wstring的值-但是,它仍然对我不起作用,我拥有更新了以下问题: 如果我有一个小的多字节文件,我想读入一个字符串,则使用以下技巧-我使用getline且其分度为'\0',例如 std::string contents_utf8; std::ifstr ..
发布时间:2020-11-13 21:12:48 C/C++开发