两种方法

1.全部读入内存 修改后重新存入文件

2.边读边写到另一新建文件 要修改的部分修改后存入新建文件 其他部分原封不动写入

写完删掉原先文件 将这个新的改为删掉那个的名字

方法一 读入内存修改 然后重新写入文件

  1. #include <stdio.h>
  2. #include <string.h>
  3. main()
  4. {
  5. int i=,num;
  6. char str[][]={},linedata[]={};
  7. FILE *fp=fopen("data.txt","r");
  8. FILE *fpw;
  9. while (fgets(linedata,sizeof(linedata)-,fp))
  10. {
  11. if (strcmp(linedata,"bbb\n")==)
  12. {
  13. strcpy(str[i],"ModContent\n");
  14. }else
  15. {
  16. strcpy(str[i],linedata);
  17. }
  18. i++;
  19. }
  20. num=i;
  21. fpw = fopen("data.txt","w");
  22. for (i=;i<num;i++)
  23. {
  24. fputs(str[i],fpw);
  25. }
  26. fclose(fpw);
  27. }
  1.  

方法二 逐行写入临时文件,遇到修改部分 修改后写入临时文件 完成后删除data.txt 然后将临时文件改名为data.txt

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. main()
  5. {
  6. char linedata[]={};
  7. FILE *fp=fopen("data.txt","r");
  8. FILE *fpw=fopen("tmp.txt","w");
  9. while (fgets(linedata,sizeof(linedata)-,fp))
  10. {
  11. if (strcmp(linedata,"bbb\n")==)
  12. {
  13. fputs("ModContent\n",fpw);
  14. }else
  15. fputs(linedata,fpw);
  16. }
  17. fclose(fp);
  18. fclose(fpw);
  19. system("del data.txt");
  20. system("rename tmp.txt data.txt");
  21. }

C语言修改文件某部分内容的更多相关文章

  1. python 修改文件中的内容

    在python的文件操作中,是没有办法对文件中具体某行或者某个位置的内容进行局部的修改的,如果需要对文件的某一行内容进行修改,可以先将文件中的所有的内容全部读取出来,再进行内容判断,是否是需要修改的内 ...

  2. python文件操作-修改文件中的内容

    一.文件读写有缓冲区 fw = open('nhy','w') fw.write('sdfsdf') fw.flush()# 把缓冲区里面的数据立即写到磁盘上 fw.close() 二.with的用法 ...

  3. 修改文件中的内容,使用fileinput模块

    import fileinput filename = 'passwd' ,backup='.bak') print line.replace('root','ROOT') a = ' this is ...

  4. Java之递归遍历目录,修改指定文件的指定内容

    EditProperties.java package PropertiesOperation.Edit; import java.io.File; /** * 替换指定Porpoerties文件中的 ...

  5. Java之扫描目录,修改文件内容

    扫描目录下文件,修改文件中指定内容 package org.utils.tools.fileoper; import java.io.*; import java.util.ArrayList; im ...

  6. linux --批量修改文件内容

    由于目前测试的BIOS有一个option 发生了改变,因此我们需要在之前写好的脚本上进行修改,将旧的option 改为新的选项,因此在此处用到了批量修改文件中的内容: 1. perl 命令替换: pe ...

  7. C语言 多文件编程

    C语言 多文件编程 分文件编程 把函数声明放在头文件xxx.h中,在主函数中包含相应头文件 在头文件对应的xxx.c中实现xxx.h声明的函数 防止头文件重复包含 1.当一个项目比较大时,往往都是分文 ...

  8. c语言的预处理指令分3种   1> 宏定义   2> 条件编译   3> 文件包含

    宏简介 1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译 所有的预处 ...

  9. python笔记(三)---文件读写、修改文件内容、处理json、函数

    文件读写(一) #r 只读,打开文件不存在的话,会报错 #w 只写,会清空原来文件的内容 #a 追加写,不会请求,打开的文件不存在的话,也会帮你新建的一个文件 print(f.read()) #获取到 ...

随机推荐

  1. 05 ADO.net

    ADO.NET就是一组类库 操作数据库用的.

  2. python的装饰器,迭代器用法

    装饰器. 装饰器实际就是一个函数 定义:在不改变内部代码和调用方式的基础上增加新的功能 了解装饰器需要了解3个内容: 1.函数即变量 2.高阶函数 1).把一个函数名当作实参传给另一个函数 2).返回 ...

  3. django-2-路由配置及渲染方式

    <<<视图>>> (1)首先要注册创建好的app (2)配置路由 在app目录下新建一个urls.py模块 模块里面复制myproject目录下urls.py里面的 ...

  4. 利用GitHub搭建Hexo博客并开启HTTPS

    Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页. GitHub 是一个面向开源及私有软件项目的托管平台 ...

  5. Jquery学习总结(4)——高效Web开发的10个jQuery代码片段

    在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库.今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发者可以保存起来. 1.检测Internet ...

  6. (转)Linux内核 TCP/IP、Socket参数调优

    Doc1: /proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失) ...

  7. Jquery-操作select下拉菜单

    jQuery获取Select选择的Text和Value: 1. var checkText=jQuery("#select_id").find("option:selec ...

  8. QT5 OpenGL (六, 键盘事件, 开关灯,放大缩小综合运用)

    概要 实例效果图 立体图放大图 立体图缩小图 不加矢量开灯图 不加矢量关灯图 加矢量关灯图1 加矢量关灯图2 部分代码展示 主要内容解析 QT键盘事件 立体图形的放大和缩小 上下左右键以及A键D争键控 ...

  9. swift算法手记-7

    @IBAction func compute(sender: AnyObject) { // 19*x^7-31*x^5+16*x^2+7*x-90=0 // newton迭代法求一元方程的解,最大求 ...

  10. [JZOJ 5912] [NOIP2018模拟10.18] VanUSee 解题报告 (KMP+博弈)

    题目链接: https://jzoj.net/senior/#contest/show/2530/2 题目: 众所周知,cqf童鞋对哲学有着深入的理解和认识,并常常将哲学思想应用在实际生活中,例如锻炼 ...