我想要创建一个字符串缓冲区来进行大量的处理、格式化并最终使用 Python 中的 C 风格 sprintf功能在文本文件中写入缓冲区。由于条件语句的原因,我无法将它们直接写入文件。
例如伪代码:
sprintf(buf,"A = %d\n , B= %s\n",A,B)
/* some processing */
sprint(buf,"C=%d\n",c)
....
...
fprintf(file,buf)
所以在输出文件中,我们有这样的 o/p:
A= foo B= bar
C= ded
etc...
编辑,澄清我的问题:
buf是一个很大的缓冲区,包含了所有使用 sprintf 格式化的字符串。
根据您的示例,buf将只包含当前值,而不包含较早的值。
例如,在 buf中我首先写了 A= something ,B= something,然后 C= something被附加到 buf中,但是在你的 Python 答案中,buf只包含最后一个值,这不是我想要的——我希望 buf包含我从一开始做的所有 printf,就像在 C中一样。