我正在尝试创建一个长字符串文字,我将其存储在std :: string中。如果我创建一个最多约2600个字符的文字,一切都打印正常。如果我超出了那个数量的符号,我只会打印一些随机的垃圾字符。
我一直使用C标准作为指导,环境限制被指定为“字符串文字中的4095个字符(连接后)”。但代码是用C ++编写的。
所以我的问题是,C ++字符串文字中的最小字符数是多少?
(问题可能在代码的其他地方,但我想确保我没有通过标准设置的限制。文本打印在RichEdit控件中,所以我怀疑一个是罪魁祸首。)
答案 0 :(得分:11)
最小值在
中指定 附件B
实施数量[implimits]
字符串文字中的字符(连接后)[65 536]。
但请注意:
1)因为计算机是有限的,所以C ++实现不可避免地受到程序大小的限制 可以成功处理。 每个实施都应记录已知的限制。本文档 可以引用它们存在的固定限制,说明如何计算可变限制作为可用的函数 资源,或者说固定限制不存在或未知。
2)限制可能会限制包括下面描述的数量或其他数量的数量。括号内的数字 建议将每个数量作为该数量的最小值。但是,这些数量是 仅指导方针,不确定合规性。 (强调我的)
您的实施应该会为您提供此号码。