我有一个示例代码,我试图在缓冲区(torprint)中收集一些消息,并在收集后将所有消息打印到屏幕上。一旦打印,我想清除缓冲区并开始在同一缓冲区中再次存储新消息。
最终用例的想法是按需打印但是现在我在收集后作为概念证明打印
#include <stdio.h>
int i,j;
char torprint[100];
char* pos=torprint;
char* fp=torprint;
int main()
{
for(j=0;j<4;j++)
{
for (i=j;i<8;i++)
{
pos += sprintf(pos, "data entry number : %d\n",i);
}
printf("%s\n",torprint);
pos=fp;
}
return 0;
}
这编译并运行,但我注意到我在整个过程中也丢失了新数据。有人可以帮我弄清楚我做错了什么???
以上代码的输出:
data entry number : 0
data entry number : 1
data entry number : 2
data entry number : 3
data entry number : 4
data entry number : 5
data entry number : 6
data entry number : 7
data entry number : 1
data entry number : 2
data entry number : 3
data entry number : 4
data entry number : 5
data entry number : 6
data entry number : 7
data entry number : 2
data entry number : 3
data entry number : 4
data entry number : 5
data entry number : 6
data entry number : 7
data entry number : 3
data entry number : 4
data entry number : 5
data entry number : 6
data entry number : 7
由于