可以使用 %s 打印字符串的最大长度?

Maximum size of string can be printed using %s?

c语言%s可以打印的最大尺寸是多少

我试图使用 fprintf 在文件中打印一个缓冲区,但在某个时候我觉得它会超过 320KB 。 fprintf 正在将截断的字符串写入文件。 %s 有任何限制吗?

printf()有上限。它将成功处理多达 N chars。 N 在 至少 4095.

The number of characters that can be produced by any single conversion shall be at least 4095. C11dr §7.21.6.1 15


[编辑]

对于如此大的 (320 kB) 预期输出,如果可能,请考虑使用 fputs(s, stream) 而不是没有此 4095 限制的 fprintf(stream, "%s", s);

类似于 printf/fprintf maximum size according to c99