请问怎么把结构体数组的1个数据清空?

dangdang0883 2007-10-28 06:02:47
typedef struct book
{
char bookId[50];
char bookName[200];
float bookPrice;
char bookType[50];
char bookAuthor[200];
}book;

struct book* pBok;

如要把 pBok[2] 里面的数据清空怎么做啊,谢谢大家?
...全文
611 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dangdang0883 2007-10-30
  • 打赏
  • 举报
回复
好办法!
_石头_ 2007-10-29
  • 打赏
  • 举报
回复
建议(有点笨但肯定可行的办法)先把文件内容读出来,然后关闭文件,再remove("文件名")--删除旧文件,然后重新建一个与原来文件同名的文件,再将需要的数据写进去,(不需要的就不要写进去了)。
dangdang0883 2007-10-28
  • 打赏
  • 举报
回复
up
dangdang0883 2007-10-28
  • 打赏
  • 举报
回复
那最后一项的数据还在啊!你这样这不过是把pBok[2]用pBok[3]覆盖了啊,那么最后一项没有被覆盖啊!
acrobatyuer 2007-10-28
  • 打赏
  • 举报
回复
楼主,是否真的可以删除了这一项然后再写回去呢?

应该可以吧!
ilovevvv 2007-10-28
  • 打赏
  • 举报
回复
先全部读出来,然后写回去的时候跳过pBok[2]不写
飞哥 2007-10-28
  • 打赏
  • 举报
回复
你pBok里面还没有数据呢
dangdang0883 2007-10-28
  • 打赏
  • 举报
回复
up
dangdang0883 2007-10-28
  • 打赏
  • 举报
回复
我要在文件里面删除 pBok[2] 里面的所有数据清空怎么做啊 我先定位,在修改我知道,但是怎么删除呢?
星羽 2007-10-28
  • 打赏
  • 举报
回复
你问的问题是如何清空,并不是如何删除 - -




要删除,就把文件读出来,如果重新写回去,写的时候过滤掉那些不想要的

或者,在内存中删除了再写回去,你问题就简化成,删除数据的某个元素
dangdang0883 2007-10-28
  • 打赏
  • 举报
回复
没有用文件里面都变成了0,还是没有删除啊,
星羽 2007-10-28
  • 打赏
  • 举报
回复
读出来,清了再写回去
dangdang0883 2007-10-28
  • 打赏
  • 举报
回复
这是清内存吧,但是我写到文件上了怎么清啊!
星羽 2007-10-28
  • 打赏
  • 举报
回复


memset(&pBok[2], 0, sizeof(struct book));

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧