在文件原位置修改文件内容
最近需要在文件原位置修改内容,该方法主要用于较少的文件内容,同时修改之后的内容和修改之前的格式一致,较适用于配置文件的原位置修改。
下面是范例代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE* fp, *p;
long flen = 0,m = 20;
char i[128]="VALUE";
char i1[128];
char n[128] = "替换之后的内容";
fp = fopen("card.txt", "r+"); //该文件在当前cpp文件同级目录下
//scanf("%d", &i);
while (!feof(fp)) {
//所获取的内容为中文,需将文件的编码类型改成ANSI,就可避免乱码
fscanf(fp, "%s = %d", i1,&m);
if (strcmp(i,i1)==0) {
p = fopen("1.txt", "w");
fprintf_s(p, "%s = %d", i, m);
flen = ftell(p);
fclose(p);
m = 90;
fseek(fp, -flen, 1); //表示从当前位置向前偏移flen个字符,fp指向该偏移
fprintf(fp, "%s = %d\n", i, m);
break;
}
}
fclose(fp);
return 0;
}
//将文件原内容 “VALUE = 10” 改成"VALUE = 90"
主要几点:
1、将要修改的内容临时写到另一个临时文件中,获取文件中内容的长度;
2、将原文件进行重定位使用fseek函数;
3、使用fprintf将更新的内容写到原位置
小tips:
1、了解ftell(),fseek()用法
参考
fseek——解析1_jinlunyue的博客-CSDN博客
2、主要中文乱码问题,方法之一,修改文件的编码集
在文件原位置修改文件内容相关推荐
- 根文件制作:ramdisk.image.gz和uramdisk.image.gz文件转换,修改文件系统内容
根文件系统制作:ramdisk.image.gz和uramdisk.image.gz文件转换,修改文件系统内容 uramdisk.image.gz-> ramdisk.image.gz 将文件u ...
- Excel与bat批量生成文件夹,修改文件夹名称
用Excel与bat批量生成文件夹,修改文件夹名称 一.批量生成文件夹 excel一列输入文件名序列:另一列用公式生成要写入bat文件的序列,之后复制该列写入.txt文件,保存为.bat文件,双击运行 ...
- (BAT批处理)如何穿透多个文件夹批量修改文件后缀名?
如何穿透多个文件夹批量修改文件后缀名?也就是不打开文件夹,直接修改.re批处理命令不知道怎么穿透文件夹. 不清楚你的实际文件/情况,仅以问题中的说明及猜测为据:以下代码复制粘贴到记事本,另存为xx.b ...
- linux文件权限类(修改文件权限、修改文件所有者和所属组)
文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定.在Linux ...
- matlab 文件指针回到开头,[c/c++] 文件指针位置回到文件开头(rewind)及行开头(ftell+fseek)...
待读入文件 1.greenteemo 2.csdn 3.blog 代码,详细说明见注释 #include #define LENGTH_OF_LINE 1024 int main(){ FILE *f ...
- centos普通用户修改文件权限_centos修改文件及文件夹权限
查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表...
写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...
- 批量重命名文件和批量修改文件扩展名
批量提取文件名称和批量修改文件扩展名 在想提取文件的目录下,新建一个txt文件: 在txt文件中输入以下代码: 将txt后缀名改为bat; 双击这个文件,即可. 代码1:所有文件格式 @echo of ...
- 【千律】C++基础:删除只读属性文件、文件剪切、修改文件扩展名
1. 删除带有只读属性的文件 #include <tchar.h> #include <windows.h>int APIENTRY _tWinMain(_In_ HINSTA ...
最新文章
- 智能指针和内存管理小结
- ACM MM 2020:一种基于情感脑电信号时-频-空特征的3D密集连接网络
- ActiveMQ;RabbitMQ;ZeroMQ
- ACM-ICPC 2018 徐州赛区网络预赛 D. EasyMath
- 如何:优化Hive ZooKeeper Lock Manager实施
- Java——容器(泛型)
- 忘却的旋律java2_[17-8-10]【复杂问题】打不开游戏
- Cadence、Pspice 软件相关汇总
- 豆瓣top250电影数据分析
- 电子电路仿真软件中文版_一个电子工程师的自我修养
- OV2640拍摄jpg图像无法解析
- activator类的使用
- Unity使用VS2019打开代码出现不兼容的解决方法
- 【原创】基于Springboot、WebSocket的一对一聊天室
- 分析学中的若干空间:
- 华为云服务之计算服务
- php.ini reporting,php.ini中error_reporting参数配置
- Unity Toon Shader 卡通着色器(一):卡通着色
- FireFox安装广告净化器或其他三方插件
- 重复字符串的处理问题
热门文章
- 0基础24岁女硕士生,想转行做月薪30k的测试开发,需要从什么开始学习?
- [学习笔记]Java如何处理EXCEL的读取
- matlab将图片旋转的代码_空间曲线绕空间直线旋转生成的旋转曲面方程
- JS - 阿里云 OSS 文件下载通用办法(支持跨域)
- 平板电脑win10 android比较好,华为MateBook名不副实!Win10平板电脑最合适
- 中国工程院院士、中国人工智能学会理事长李德毅:人工智能研究新进展
- 如何设置开机启动程序
- char远非仅仅是字符
- NLP基础知识(三)-AI应用篇
- Python:opencv库实现调用摄像头拍照并保存到本地