关于C++里的文件操作,帮忙分析一下,问题是存到txt文件里以后,第二次运行程序,txt里就没东西了

这是程序的一段,全程序太大放不下,大家看一下这段程序有没有错误啊voidput(SLNode*head,FILE*fp)//--------------------职工信... 这是程序的一段,全程序太大放不下,大家看一下这段程序有没有错误啊
void put(SLNode *head,FILE *fp)//--------------------职工信息的保存
{
SLNode *p;
if((fp=fopen("职工名单.txt","w"))==NULL){
printf("无法打开'职工名单.txt'!\n");
exit(0);
}
for(p=head->next;p;p=p->next)
{
fprintf(fp,"%s %c %d %d %s %s %s %d\n",p->name,p->sex,p->born_time,p->work_time,p->degree,p->job,p->address,p->tele_num);
}
if(fclose(fp)){
printf("无法关闭'职工名单.txt'!\n"); exit(0);
}
}
展开
 我来答
黑土016
2012-06-16 · 超过24用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:60.5万
展开全部
if((fp=fopen("职工名单.txt","w"))==NULL){
你第二次运行的时候会把文件清空的,如果你想往里面写东西可以用"a" 表示追加,这样就不会删除原来的东西了,前提是这个文件必须存在(也就是先创建)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沧海雄风2009
2012-06-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2837万
展开全部
if((fp=fopen("职工名单.txt","w"))==NULL){
printf("无法打开'职工名单.txt'!\n");

第二次打开是请用 "r" 如果用"w" 则清空了
追问
换成r以后,存都不能存了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tlyzbcy
2012-06-16 · TA获得超过892个赞
知道小有建树答主
回答量:571
采纳率:100%
帮助的人:455万
展开全部
使用fopen("职工名单.txt", "a")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式