问题标签 [widestring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
314 浏览

winapi - 如何从richedit控件中流出宽字符串?

这是我的尝试,我不知道为什么EM_STREAMOUT在遇到非 ascii 字符时返回问号。

此代码从窗口复制文本并将其再次放回,但这次仅作为问号。

0 投票
1 回答
1176 浏览

c++ - Wide String vs String ,它是否会影响 Windows C++ 中的性能

我在我的 C++ 项目中处理了很多 Unicode 文件路径。我在我的代码中执行检查,如果它们足够好以适合多字节字符串,我将其保留为普通字符串 (std::string) 变量,如果字符串不适合多字节,我将其用作宽字符字符串。

我的问题是我是否可以将路径完全用作 wstrings ..?它会影响性能吗,我必须使用 wstring 进行一些字符串操作、文件打开、创建、重命名和删除。因此,与其检查多字节或宽字符字符串,我想直接将它用作 wstring,这将为我节省很多 if/else。

请分享你的想法...

0 投票
2 回答
1118 浏览

c++ - C++ L“随便”-> wstring-> basic_string

我正在为解析器编写“字符串拆分器”,并且我希望能够同时使用 char 和 wchar_t。我有以下方法:

我想给它一个宽字符串来解析:

我也试过:

所以我假设有一些我不了解模板的东西。请问我该怎么办?

谢谢你的帮助 !

编辑:这是我的构建日志:

编辑 :

parser.cpp 中的代码是上面的代码:

0 投票
2 回答
451 浏览

c - 在 C 中混合宽和窄字符串文字

刚刚发现以下所有工作:

输出是

为什么我可以自由混合和匹配宽字符串和窄字符串以得到宽字符串文字?这是记录在案的行为吗?

0 投票
2 回答
1696 浏览

delphi - 在 Delphi 中将 UnicodeString 附加到 WideString

我很好奇 Delphi 2010 中这段代码会发生什么:

涉及多少个字符串转换,在性能方面是否特别糟糕?

我知道该函数应该只返回 a UnicodeString,但我在 VCL 流代码中看到了这种反模式,并想了解这个过程。

0 投票
1 回答
270 浏览

php - php中的宽字符串?

最初,我遇到的问题是,虽然我通过光学检查获得了相同的路径,但 file_exists() 对一个返回 true,对另一个返回 false。在花了几个小时缩小我的问题之后,我最终得到了以下代码......(路径已编辑)

...及其输出:

所以两个版本,有趣的是包括简单地写下字符串,显然使用宽字符(这些工作,file_exists()-wise),而遗憾的是我更喜欢的变体使用窄字符。我试图对此进行研究,但我唯一得到的结果告诉我,php 没有宽字符串之类的东西。我还使用十六进制编辑器验证了所有字符串常量在 php 文件中每个字符实际上只占用一个字节。

phpinfo() 告诉我我有 PHP 版本 5.4.9,并且我在 64 位 linux 机器上运行,fwiw。手册是一周前编辑的;它的信息不准确,还是这里发生了什么?

0 投票
1 回答
138 浏览

c++ - 如何在 boost 正则表达式中指定 }(右大括号)?

我在我的程序中使用 boost 1.54 库。我的任务是扩展字符串中的一些模式。

一个这样的例子是,如果}在字符串中找到右大括号,请将其替换为>

我在我的代码中编写了以下正则表达式。

我的代码编译正常。但是我的程序在遇到第一条语句时崩溃,它崩溃并出现以下异常

Compress.exe 中 0x7599c41f 处未处理的异常:Microsoft C++ 异常:boost::exception_detail::clone_impl > @ 0x0018fa54

因为}是一个特殊的符号,所以我用\符号转义了它。

谁能告诉我这里有什么问题?

0 投票
1 回答
191 浏览

c++ - 函数的大小参数

我看到很多函数需要你为输出的字符串设置一个大小。

GetComputerNameW需要:

RegSetValueExW需要:

GetWindowTextW需要:

GetModuleBaseNameW需要:

我的问题是,如何区分大小设置?字符串始终定义为 WCHAR 并且设置的大小差异很大。

0 投票
1 回答
4544 浏览

c++ - C++ 中字符串和 wstring 的控制台打印

我可以看到有很多与字符串和宽字符串相关的问题。但由于他们都没有给我我正在寻找的信息......我发布了一个新问题。

我有这个代码...

当我在我的 RHEL 盒子上编译和运行这段代码时(...(通过 ssh 连接,运行 gcc 4.1.2)我得到了这个 o/p(请注意中间两行没有正确打印)

在我的苹果笔记本电脑和 FreeBSD(通过 ssh)盒子之一上,我没有从 w_* 代码中获得 o/p。我只是让第一个和最后一个 cout 被执行 vikrant मुरुगन--18

我的理解是,如果未指定,这些字符串将被视为 UTF 8。如果字符串可以处理它,wstring 也会处理。这种方法有什么问题吗?一些插件问题是......它只是一个显示问题吗?或者 wstring 在 linux 上不可靠?任何其他信息也可能有所帮助。

0 投票
1 回答
528 浏览

c++ - Boost.Log ignores overloaded stream insertion operator

I have a class that I want to appear in log in a certain way, so I've overloaded its << operator:

Inserting the class above in log stream:

causes compilation error:

I know the error lies in the fact, that I've overloaded << for wide strings. All is fine when I use ostream instead of wostream, but I really want to use wide string version.

I've tried to set locale for a sink:

And have BOOST_LOG_USE_WCHAR_T defined before any log-related includes.

Is there anything I can do to make logging work with wide string << operator?

I'm using Boost 1.55.0.