问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言如何在特定的某一行进行删除插入等?

发布网友 发布时间:2022-04-23 13:24

我来回答

1个回答

热心网友 时间:2023-11-02 00:24

C语言文件操作有覆盖和追加两种模式,但不提供插入模式。所以要在文件中指定行进行删除或者插入,需要按照如下流程操作:

1、以只读打开文件;

2、将文件逐行读入到内存中;

3、关闭文件;

4、在内存中对指定行插入或者删除;

5、以只写打开文件;

6、将修改后的数据写入文件;

7、关闭文件。 

参考代码:

假定文件最多100行,执行删除第5行,并在原第8,9行中间插入一行数据为例,代码如下:

#include <stdio.h>
#include <string.h>
char buf[100][1000];
int main()
{
    FILE *fp;
    char *s="abcdef\n";//要插入的数据
    int i=0;
    int n=0;
    fp = fopen("my.txt", "r");//读方式打开文件
    while(fgets(buf[n], 1000, fp) != EOF)//循环读取所有数据
        n++;
    fclose(fp);//关闭文件。
    for(i = 4; i<7; i ++)//删除第五行
        strcpy(buf[i],buf[i+1]);
    strcpy(buf[7], s);//插入到第8行。
    fp=fopen("my.txt", "w");//写方式打开文件。
    for(i = 0; i < n; i ++)//写入所有处理后的数据。
        fputs(buf[i], 1000, fp);
    fclose(fp);//关闭文件。
    return 0;    
}

c语言实现文件内容某行删除

首先,找到找到要删除的那一行的行号,假如是j行,然后把指向文件的指针定位到j+1行处(可以使用fseek函数,Linux下可以使用lseek函数);读取一行(此时的文件指针已到达改行的末尾处,也可以认为是到了下一行的开始处),再把文件指针定位到j行,把刚才读出的再写会,使用循环直至文件结束。简单的说就...

求助:如何用c语言实现删除数组中指定的行和列

首先,你这是乱来,完全违背c语言的原则。数组是用来存放空间固定、顺序较不重要的内容的。如果要插入删除的话,最起码也应该用个链表什么的。可以用链表套链表的方式完成,一个链表A的元素B们也是链表,这样元素在A的序号就是行,在B的序号就是列,这样无论插入删除都有据可依。但是,如果你一定要这...

C语言如何从文件中选中一项进行删除后将剩余项全部保存进原文件?

1打开文件 2读取每一行 3如果已经是最后一行 则转到7步骤退出 否则执行第4步骤 4匹配名字 5如果匹配不陈功 重复第2步骤 6匹配成功,删除这一行或者在这一行写空数据替换,并将结构严谨的其他字段所在的行也删除或者用空数据替换掉 7退出

C语言如何添加某一行行或删减某一行。 比如上面那张图到下面那张图...

没法直接添加 只能重新打印 每行的输出 最后加上一个 比如 原本是循环输出10个 一行 改成循环输出11个一行就可以了。

C语言删除字符串中指定字符

一、问题描述:从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str。1、输入:第一行是一个字符串; 第二行是一个字符。2、输出:删除指定字符后的字符串。二、设计思路:1、 同插入问题,定义两个字符数组a,b。以及标志删除位置的int型pos。2、用gets函数...

c语言数组中一个数的删除与插入

bool binary_search(int * arr, int size, int v){if((arr == NULL) || (size &lt;= 0)){return false;}int bIndex = 0;int eIndex = size - 1 ;for(int curIndex = size / 2; eIndex != bIndex; curIndex = (bIndex + eIndex) /2){if(v &lt; arr[curIndex]){eIndex = ...

用C语言头插法或尾插法建立带头结点的单链表,实现单链表上的插入,删除...

define TRUE 1 define FALSE 0 define MAXSIZE 20 /* 存储空间初始分配量 */ typedef int Status;/* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int ElemType;/* ElemType类型根据实际情况而定,这里假设为int */ Status visit(ElemType c){ printf("%d ",c);return OK;}...

C语言,利用指针编写程序:删除一个字符串中的某一个字符

2、其次就是要定义两个相同容量的字符串储存的变量 char a[100]; char b[100];。以及整数变量 int c; int i=0,j=0; 其中a[100]是存字符串的,b【100】是存你删除对应字符的字符串的,整数C是你想删除第几位。j ,i 是后面for循坏中要使用到的变量。3、 printf("请输入你的字符串...

运用C语言如何删除文件中的某条数据

fprintf(fp, insert); /*插入,就是写入数据*/ fprintf(fp, tmp); /*把原来的数据再写回来, 完成*/ /*3、01读取后++两次,并重新写回文件*/ rewind(fp);fscanf(fp, "%x", &amp;i); /*读取数据*/ i = i+2; /* +2 */ fseek(fp, -2, 1); /*调整指针*/ fprintf(fp...

c语言怎样把代码的第一列全部删除vim

选中第一列的方法是:在普通模式下先用 gg 移到第一行,或者用 13G 之类的方式把光标移到你要开始选中的第一行。然后按 ctrl-v 进入块选模式。然后用 G 选到最后一行,或者同样 23G 方式来到你欲选中的最后一行。之后 d 删除选中内容。选中过程中,用 jk 等行可以上下调整光标。另外,考虑到...

c语言中如何删除数据 c语言中如何定义字符串 c语言字符串的输入 c语言删除 c语言实现删除功能 c语言删除字符 c语言文件内容删除 c语言删除函数 c语言怎么连续输入
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
肝胆管结石如何治疗 胆管结石微创好还是手术好 14,l5,17它们一起的最小公倍数 16+17+14,最小的公因数? ...R17刚上市,大家感觉怎么样呢?我看到vivox23的曝光图好像也不错耶... vivox23拍摄曝光和感光度怎么不能一起用? 棚室黄瓜沤根的症状,棚室黄瓜沤根的防治方法 定期存款利息税是多少 黄瓜沤根是咋回事 黄瓜沤根病防治方法 怎样在WORD表格中删除插入的三角形? 怎么删除插入空白页后这个不要的空白页? word编辑时怎么删除插进去的自选图形 word 中如何删除插入页(下一页) wps演示怎么删除插入的图片 wps文字怎么删除插入的图形 台式电脑怎么打开摄像头? 电脑怎么登录两个 梦见已故去的爷爷 准备去买车确梦见已故的爷爷? 跨行转账私对公转款要多长时间? 梦见已故的爷爷好像是想让我过去陪他,是什么意思? 梦见已故的爷爷再次准备后事 跨行私对公账户转账,当时忘记备注自己的名字了,对方会知道是我转账的吗? 梦见已故的爷爷! 昨晚梦见已经去世的爷爷要去跟他睡觉爷爷却不让怎么回事? 孙女梦见过世的爷爷带很多吃的东西准备走? 梦见已故的爷爷对我说赶紧走这里危险什么意思? 周公解梦,梦见已故的爷爷 灭火器使用完后如何处理? 如何在word中一键删除插入点之后的所有资料 电脑上怎么删除插入图形的线条 怎样删除插入word中的多个超级链接 求菩萨蛮和卜算子这两首词的解释(六年级语文上) 《江城子》 苏轼 求唯美古风诗词。 推荐几首唯美的宋词吧! 春风知得此时情 吹动秋千红影 什么意思 比较伤感唯美的小段落, 有小学唐诗没啊,要全部的 求意境深远语句优美的诗词,最好是略带伤感的类型,要求附解释和评析。 求言情小说! 苏轼丶的诗 英语6级是什么水平程度 回文诗,要求清幽一些的 六级大风什么概念? 高分找一本小说!!! 高分找一本小说!!! 英语6级大概什么水平,自学的话可以吗,怎么学? 红楼梦中贾宝玉写的诗句