使用sprintf收集邮件后打印邮件的问题

时间:2016-11-10 15:59:34

标签: c

我有一个示例代码,我试图在缓冲区(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

由于

0 个答案:

没有答案