linux c读取配置文件打印多出输出最后一行问题

来源:互联网 发布:人工智能会议 2017 编辑:程序博客网 时间:2024/06/13 09:39

1,一直奇怪为什么每次读多输出最后一行;

2,当每次读取后清空buffer后,能够正常输出了;

代码片段:

#include <stdlib.h>

#include <stdio.h>

#include <unistd.h>

#include <sys/types.h>

#include <string.h>

int main(int argc, char *argv[])

{

     FILE *fp;

     char str[64];

       fp = fopen("/xxxxxx","r");

     while(!feof(fp))

      {

               fgets(str, 64, fp);

               printf("%s",str);

               memset(str, 0, 64);//此处要清空str,否则会多输出文本的最后一行字符串;

      }

     fclose(fp);

}