c - 将 fprintf 从缓冲区写入文件但每 100 个字符后换行的策略?

标签 c printf

是否有任何简单的函数或策略可以帮助我从缓冲区中 fprintf 到文件上,同时每 100 个字符移动到下一行?

最佳答案

在一般情况下,事实并非如此:fprintf 没有自动换行功能。

但是您可以利用fprintf的返回值:写入的字符数。更新列数,您可以在每次超过某个值时输出换行符。如果您的 fprintf block 足够小,那么它可以很好地近似您正在尝试执行的操作。要正确计算列数,您必须考虑作为 fprintf 函数调用的一部分可能输出的任何换行符。

否则,您可以 snprintf 到缓冲区并搜索空格以适本地换行,甚至可以在 100 个字符处任意换行。

另一个更通用的解决方案是使用 popen() 通过实用程序传输输出,该实用程序将执行您想要的包装类型。

关于c - 将 fprintf 从缓冲区写入文件但每 100 个字符后换行的策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35326501/

相关文章:

c - 使用 sprintf 在 LCD 上打印出字符串 我如何在此函数中使用百分号

c - 如何在 mingw-w64 gcc 7.1 中无警告地打印 size_t?

c++ 为 sqlite3 设置

c - 如何知道我从哪里启动

c - 有符号和无符号,以及 C 中位扩展的工作原理

%p 和 cout &ptr 之间的 C++ 区别

c++ - UTF-16LE 半角和全角?意义?

c - 用参数调用Rust

c - 在 while 循环中使用 getchar(),打印一条语句两次……如何?

c - fprintf 以错误的顺序打印数据