我正在构建一个分布式消息传递系统,供用户在不同的 linux 终端上相互发送消息。我正在寻找我的问题的场景是当我尝试将字符串写入超过 4095 字节/字符的文本文件时。该字符串将根据用户输入生成。我读过最大字符串大小的 ISO C99 标准是 4095 字节/字符。我应该限制用户只输入小于 4095 字节的字符串吗?我知道简单的聊天消息通常很短,但我关心的情况如下。

用户尝试从某处复制和粘贴摘录,然后将其发送给另一个用户。如果消息长于 4095 个字节,那么它将截断第 4095 个字符之后的字符。因此,用户将仅接收第一部分。

我不确定这一点,但我想知道如果字符串长于 4095 个字符,我应该采取增加堆栈大小的方法,或者是否有另一种方法通过在我接收时以某种方式拆分字符串然后写入将多个字符串逐个写入文件。

最佳答案

这个限制是针对字符串文字的,比如 "hello world" 。这不是您以编程方式构造的字符串的一般限制。您可以制作比 4095 字节大得多的字符串!

关于c++ - 将字符串写入超过 4095 个字符的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4066473/

10-09 06:43
查看更多