从一个文件中读取信息存到另一个文件中时会出现烫烫烫?

void read(char *fname,item *it,int n)/*读取所需文件*/
{
    int i=0;
    FILE *fp;
    fp=fopen(fname,"r");
    if(fp==0)
    {
        printf("file error\n");
        exit(1);
    }
    fscanf(fp,"%6s%20s%10s%10s%10s%10s%10s%20s%20s%20s\n",it[i].sign,it[i].indate,it[i].type,it[i].information,it[i].place,it[i].condition,it[i].ownername,it[i].ownerID,it[i].ownernum,it[i].outdate);
    while(!feof(fp))
    {
        i++;
        fscanf(fp,"%6s%20s%10s%10s%10s%10s%10s%20s%20s%20s\n",it[i].sign,it[i].indate,it[i].type,it[i].information,it[i].place,it[i].condition,it[i].ownername,it[i].ownerID,it[i].ownernum,it[i].outdate);
    }
    fclose(fp);
}
void create(item *it,int n)/*将文件信息存入总表*/
{
    int i;
    FILE *fp;
    fp=fopen("d:\\失物招领总表.txt","a+");
    if(fp==0)
    {
        printf("file error\n");
        exit(1);
    }
    for(i=0;i<n;i++)
    {    
        fprintf(fp,"%6s%20s%10s%10s%10s%10s%10s%20s%20s%20s\n",it[i].sign,it[i].indate,it[i].type,it[i].information,it[i].place,it[i].condition,it[i].ownername,it[i].ownerID,it[i].ownernum,it[i].outdate);
    }
    printf("总表保存成功!\n");
    fclose(fp);
}
int duhang(char *name,item *it)/*读取文件的行数*/
{
    FILE *fp;
    char str[SIZE];
    int lines=0;
    
    fp=fopen(name,"r");
    if(fp==0)
    {
        printf("file erroe\n");
        exit(1);
    }
    while(fgets(str,SIZE,fp)!=0)
        lines++;
    fclose(fp);
    return lines;
}

void printit(item *it,int n)/*打印数据*/
{
    int i;
    for(i=0;i<n;i++)
    {
        printf("%6s%20s%10s%10s%10s%10s%10s%20s%20s%20s\n",it[i].sign,it[i].indate,it[i].type,it[i].information,it[i].place,it[i].condition,it[i].ownername,it[i].ownerID,it[i].ownernum,it[i].outdate);
    }
}

case 8:
            printf("请输入文件路径!(如d:\\2018-01-01.txt)\n");/*存入总表*/
            scanf("%s",filename);
            count=duhang(filename,it);
            read(filename,it,count);
            printit(it,count);
            create(it,count);

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^