c语言实现文件数据删除视频,如何用c语言实现删除文件中指定的数据;例如

匿名用户

1级

2012-05-21 回答

你的描述不清晰,B1和B2两个结构数组,到底要删除哪个?B[2]是肯定不对的,这两个数组的长度都是2,下标只能是0和1,即B1[0], B1[1], B2[0], B2[1]。

你还是先把问题说清楚了,这个程序不难写。

追问:

不好意思漏掉了! 是要删除B2[1].name 和 B2[1].point

麻烦大侠指教!

追答:

还不是很清楚,文件里存了哪几条数据?数据在B1和B2里是如何存放的。以B2为例,B2[0]或B2[1],每个里存放一条数据还是用链表串起来的多条数据?

我按如下的假设实现:

文件中vip的数据以文本方式存储(假设文件名为vip.txt),每一条数据存一个会员姓名和会员积分信息,用空格分给,每条记录结束是一个回车符。数据读取出来之后放入B2[1]为头的链表中,然后将B2[1]代表的数据删除(即第一条记录),把其余部分的数据重新写入到文件中。

前面的定义略

main()

{

FILE *fp;

struct vip *ptr, buf;

fp = fopen("vip.txt", "r");

if(fp == NULL) {

printf("Can not open file vip.txt\n");

exit(-1);

}

ptr = NULL;<

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言,要删除文件的一行数据,可以按照以下步骤进行操作: 1. 打开原文件并创建一个新文件。 2. 逐行读取原文件数据。 3. 如果该行数据不是要删除数据,则将该行数据写入新文件。 4. 如果该行数据是要删除数据,则不将该行数据写入新文件。 5. 关闭原文件和新文件。 6. 删除文件并将新文件重命名为原文件名。 以下是一个示例代码: ```c #include <stdio.h> #include <stdlib.h> int main() { FILE *fp1, *fp2; char filename[100], ch; int delete_line, temp = 1; printf("Enter file name: "); scanf("%s", filename); // 打开原文件 fp1 = fopen(filename, "r"); if (fp1 == NULL) { printf("File does not exist.\n"); exit(0); } // 创建一个新文件 fp2 = fopen("temp.txt", "w"); printf("Enter the line number you want to delete: "); scanf("%d", &delete_line); // 逐行读取原文件数据 while ((ch = fgetc(fp1)) != EOF) { // 如果该行数据不是要删除数据,则将该行数据写入新文件 if (temp != delete_line) { fputc(ch, fp2); } // 计算行数 if (ch == '\n') { temp++; } } // 关闭原文件和新文件 fclose(fp1); fclose(fp2); // 删除文件并将新文件重命名为原文件名 remove(filename); rename("temp.txt", filename); printf("The contents of file after deleting a line:\n"); fp1 = fopen(filename, "r"); ch = fgetc(fp1); while (ch != EOF) { printf("%c", ch); ch = fgetc(fp1); } fclose(fp1); return 0; } ``` 运行代码后,程序会先提示输入要操作的文件名,然后提示输入要删除的行数。程序将会删除指定行数的数据,并将结果输出到控制台。注意,程序会直接操作文件,因此请务必备份好原文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值