可以使用%s打印最大字符串大小?

时间:2015-01-06 14:24:26

标签: c linux printf

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

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

1 个答案:

答案 0 :(得分:8)

printf()有一个上限。它将成功处理最多N char秒。 N在至少 4095。

  

任何单次转换可以产生的字符数至少应该是   4095.C11dr§7.21.6.115


[编辑]

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

类似于 printf/fprintf maximum size according to c99