【发布时间】:2026-02-03 01:25:01
【问题描述】:
我正在尝试创建一个长字符串文字,我将其存储在 std::string 中。如果我创建一个最多大约 2600 个字符的文字,那么一切都很好。如果超过这个数量的符号,我只会打印一些随机的垃圾字符。
我一直使用 C 标准作为指导,环境限制被指定为“字符串文字中的 4095 个字符(连接后)”。但是代码是用 C++ 编写的。
所以我的问题是,C++ 字符串文字中的最少字符数是多少?
(问题可能在代码的其他地方,但我想确保我没有通过标准设置的限制。文本打印在 RichEdit 控件中,所以我怀疑是罪魁祸首.)
【问题讨论】:
-
链接的问题是关于
std::string,而不是字符串文字。 -
因为 Windows 会将单字节字符串转换为 Unicode,它可能确实有自己的限制,独立于 C++。尝试在调试器中查看字符串。
-
能否将字符串打印到控制台而不是 RichEdit 控件?
-
@aschepler,这个问题是关于std::string,第一句。
-
@aschepler 实际上,如果我可以在 std::string 中容纳十亿个字符,如果它是从具有更窄限制的常量字符串文字初始化的,那对我没有好处。 “可能的重复”丝毫没有回答我的问题。我会将此标记为版主注意。