CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

删除文件中的一个记录?

楼主Areslp(努力ING)2003-11-01 21:23:37 在 C/C++ / C语言 提问

比如文件记录了很多学生的记录,现在想删除一个,怎样做呢?  
  我本来是想先全部读出来存到一个数组中,然后把要删除的那个学生的学号赋值为0  
  再重新写入文件里,前边加一判断:如果学号为0,则循环变量+1,比如这样写:  
  for(int   j=0;j<MAX-1;j++)  
  {  
  if(stu[j].num==0)  
  j++;  
  fwrite(&stu[j],sizeof(struct   student),1,fp)!=1;  
  }  
  但是写完再读,发现要删除的那个学生还在,并且学号是0,这是怎么回事倪?  
   
  还有其他的好办法吗?希望不吝赐教,谢!! 问题点数:20、回复次数:9Top

1 楼liuxueliuxue(peifu)回复于 2003-11-01 23:06:36 得分 0

你犯了一个非常严重的错误,循环变量在循环中附直是不可仪的。Top

2 楼liuxueliuxue(peifu)回复于 2003-11-01 23:08:56 得分 5

我也是处学,你可以考虑  
  if(stu[j].num==0)  
   
  continue;  
   
  fwrite(&stu[j],sizeof(struct   student),1,fp)!=1;  
  希望不是误道  
  Top

3 楼liuxueliuxue(peifu)回复于 2003-11-01 23:16:10 得分 0

或着  
  for(int   j=0;j<MAX-1;)  
  {  
  if(stu[j].num==0)  
  j++;  
   
  fwrite(&stu[j],sizeof(struct   student),1,fp)!=1;  
   
  j++;  
  }  
  也许可以,是市看。Top

4 楼Areslp(努力ING)回复于 2003-11-01 23:29:24 得分 0

“你犯了一个非常严重的错误,循环变量在循环中附直是不可仪的”。。。。这个在vc7里是可以的。。。  
   
  你写的不是和我一样的吗?Top

5 楼liuxueliuxue(peifu)回复于 2003-11-02 10:38:39 得分 0

把,for(int   j=0;j<MAX-1;)中的j++;放到语句中了,也许编译起来会有不同,。我手头上也没有调试器,而且我自学的c++,学的是c,pascal,Top

6 楼liuxueliuxue(peifu)回复于 2003-11-02 10:48:31 得分 0

我第3楼写的那样,应该可以胜任把。Top

7 楼Areslp(努力ING)回复于 2003-11-02 14:26:54 得分 0

那也是一样的吧,不过换了个写法。。。。Top

8 楼Wolf0403(废人:独活十年~心如刀割)回复于 2003-11-02 15:19:35 得分 15

呵呵,我完美废人来点卯。结了吧。Top

9 楼liuxueliuxue(peifu)回复于 2003-11-02 23:20:00 得分 0

Wolf0403(完美废人)   ,欺负新人,,55555555555555555555。抢我分。Top

相关问题

  • 如何在记录文件中删除一条记录??
  • 如何删除文件中的一个记录
  • 如何删除TXT文件中一行记录?
  • 记录文件删除问题?
  • 用delete删除的数据表记录,还能从LOG文件中还原吗?
  • 高分求:如何在文本文件中删除部分记录??????
  • 请问,我要怎么样才能删除一条文件中的记录?
  • 删除二进制文件中间某个记录用什么方法?
  • 如何将dbf文件做删除标记得记录删除!
  • 删除DBGRID中的记录~~~~~~~~~

关键词

  • 文件
  • 学号
  • 学生
  • 删除
  • 记录
  • 比如

得分解答快速导航

  • 帖主:Areslp
  • liuxueliuxue
  • Wolf0403

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo