麻烦问一下fprintf函数这样用以后为什么在文件里面不显示数据却只有制表符,而且无限增长?多谢您的回答

[复制链接]
查看11 | 回复1 | 2010-9-5 13:48:17 | 显示全部楼层 |阅读模式
void Print()
{
FILE *p;
int s;
//struct library *p;
if((p=fopen("d:\\print.txt","w"))==NULL)
{
printf("this file is not exit !\n");
exit(0);
}
else
{
fprintf(p,"┍━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━┯━━━━━┑\n");
fprintf(p,"│
姓名

联系电话

公司名称

家庭住址
│ 分类 │\n");
fprintf(p,"┝━━━━━━┿━━━━━━━━━┿━━━━━━━━━┿━━━━━━━━┿━━━━━┥\n");
//p=head->next;
while(i)
{
for(s=0;s<i;s++)
{

//cout<<setw(2)<<con.name<<setw(14)<<con.telephone<<setw(18)<<con.company<<setw(18)<<con.address<<setw(16)<<con.sort<<endl;



if(i==0)

{

cout<<setw(2)<<con.name<<setw(14)<<con.telephone<<setw(18)<<con.company<<setw(18)<<con.address<<setw(16)<<con.sort<<endl;

fprintf(p,"┝━━━━━━┿━━━━━━━━━┿━━━━━━━━━┿━━━━━━━━┿━━━━━┥\n");

}

else

{

cout<<setw(2)<<con.name<<setw(14)<<con.telephone<<setw(18)<<con.company<<setw(18)<<con.address<<setw(16)<<con.sort<<endl;

fprintf(p,"┕━━━━━━┷━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━┷━━━━━┙\n");

}
}
}

fclose(p);
}
}

回复

使用道具 举报

千问 | 2010-9-5 13:48:17 | 显示全部楼层
1、你的i的定义和初始化在哪里??如果你的i 的初始化不为0那么肯定是无限增长,while(i){...}你的while循环体里面没有给i变成0的机会,也就不会永远结束while循环了。。。2、"cout<<"这种用法貌似不能用在读写文件里面...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行