文件读取及比较&文件信息保存
#include <stdio.h>
#include <stdlib.h>
//#include <regex.h>
char* file_name_1 = "D:\\testfile.txt";
char* file_name_2 = "D:\\testfile_1.cfg";
char* file_name_3 = "D:\\testfile_flag.txt"; #define ERROR -1
#define OK 0
int file_length(char* fileName)
{
FILE* fp;
int file_set_val,file_end_val;
fp = fopen(fileName, "r");
if(fp == NULL)
{
printf("read file fail\r\n");
return ERROR;
}
fseek(fp, , SEEK_SET);
file_set_val = ftell(fp);
fseek(fp, , SEEK_END);
file_end_val = ftell(fp);
printf("file length is %d. \r\nfile_set_val:%d file_end_val:%d \r\n", file_end_val-file_set_val,file_set_val, file_end_val);
return file_end_val-file_set_val;
} int read_file(char* fileName, char* content, int len)
{
FILE* fp;
fp = fopen(fileName, "r");
if(fp == NULL)
{
printf("read file fail\r\n");
return ERROR;
}
fread(content, len, , fp);
printf("read content is:%s\r\n", content);
return ;
} int back_para_increase(char* fileName, int flag)
{
FILE* fp;
fp = fopen(fileName, "ab");
if(fp == NULL)
{
printf("read file fail\r\n");
return ERROR;
}
if(flag)
{
fputc('', fp);
}
fclose(fp);
} int file_compare()
{
char* content_1;
char* content_2;
int len = , flag_val = ; len = file_length(file_name_1);
content_1 = (char*)malloc(len);
memset(content_1, , len);
read_file(file_name_1, content_1, len); len = file_length(file_name_2);
content_2 = (char*)malloc(len);
memset(content_2, , len);
read_file(file_name_2, content_2, len); if(strcmp(content_1, content_2))
{
back_para_increase(file_name_3,);
flag_val = file_length(file_name_3);
printf("back_para_increase:%d\r\n",flag_val);
}
free(content_1);
free(content_2);
} int main()
{
printf("***************************\r\n");
file_compare();
return ;
}
文件读取及比较&文件信息保存的更多相关文章
- 关于Npoi+excel文件读取,修改文件内容的处理方式
因最近有需求场景,实现对文件的读写操作,又不单独生成新的文件,对于源文件的修改,做了一个简单实现,如下↓ // 要操作的excel文件路径 string fileName = Server.MapPa ...
- springboot的@Configuration文件读取static静态文件
错误 正确
- LogcatHelperDemo【应用log信息保存成本地文件】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 简单记录下LogcatHelper的使用,并对原有代码进行了修改[因为保存到应用内的目录中不需要申请权限,所以去掉保存到SD的功能- ...
- HDFS数据流-剖析文件读取及写入
HDFS数据流-剖析文件读取及写入 文件读取 1. 客户端通过调用FileSystem对象的open方法来打开希望读取的文件,对于HDFS来说,这个对象是分布式文件系统的一个实例.2. Distrib ...
- Matlab 从入门到精通 Chapter11 文件读取I/O
11.1 工作空间数据读取 将工作空间的变量保存为文件,可以使用save命令. save('filename') 将文件保存在当前目录下,文件名为filename.mat save('filenam ...
- 安全研究 | Jenkins 任意文件读取漏洞分析
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云鼎实验室 发表于云+社区专栏 一.漏洞背景 漏洞编号:CVE-2018-1999002 漏洞等级:高危 Jenkins 7 月 18 ...
- VAuditDemo-任意文件读取
任意文件读取是属于文件操作漏洞的一种. 一般任意文件读取漏洞可以读取配置信息.甚至系统重要文件. 严重的话,就可能导致SSRF,进而漫游内网. 文件操作漏洞 任意文件删除--删除lock 任意文件复制 ...
- PHP大文件读取操作
简单的文件读取,一般我们会使用 file_get_contents() 这类方式来直接获取文件的内容.不过这种函数有个严重的问题是它会把文件一次性地加载到内存中,也就是说,它会受到内存的限制.因此,加 ...
- 编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt
package zuoye; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcep ...
随机推荐
- 爬取快代理的免费IP并测试
各大免费IP的网站的反爬手段往往是封掉在一定时间内访问过于频繁的IP,因此在爬取的时候需要设定一定的时间间隔,不过说实话,免费代理很多时候基本都不能用,可能一千个下来只有十几个可以用,而且几分钟之后估 ...
- jQuery制作弹出窗(模态框)
来源:(二少)在南极 ##index.html <!DOCTYPE html><html lang="zh"><head> <meta c ...
- oracle数据库连接问题org.springframework.jdbc.support.MetaDataAccessException: JDBC DatabaseMetaData method not implemented by JDBC driver - upgrade your driver...
org.springframework.jdbc.support.MetaDataAccessException: JDBC DatabaseMetaData method not implement ...
- golang time json mongodb 时间处理
golang 中解决前端time 输出,后端mongodb中时间存储. package mask import ( "fmt" "time" "go. ...
- 在linux环境下安装oracle的问题记录
问题1 xhost:unable to open display 解决办法: 在linux虚拟机本机打开终端,执行 [root@bogon ~]# DISPLAY=:0.0;export DISPLA ...
- Java 实现《编译原理》简单-语法分析功能-LL(1)文法 - 程序解析
Java 实现<编译原理>简单-语法分析功能-LL(1)文法 - 程序解析 编译原理学习,语法分析程序设计 (一)要求及功能 已知 LL(1) 文法为: G'[E]: E→TE' E'→+ ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(16)|代码组织与模块化]
[易学易懂系列|rustlang语言|零基础|快速入门|(16)|代码组织与模块化] 实用知识 代码组织与模块化 我们知道,在现代软件开发的过程中,代码组织和模块化是应对复杂性的一种方式. 今天我们来 ...
- POJ - 2774 Long Long Message (后缀数组/后缀自动机模板题)
后缀数组: #include<cstdio> #include<algorithm> #include<cstring> #include<vector> ...
- 我说CMMI之一:CMMI是什么--转载
我说CMMI之一:CMMI是什么 有些朋友没有接触过CMMI,正在学习CMMI,CMMI本身的描述比较抽象,所以,读起来有些费劲.有些朋友实施过CMMI,但是可能存在对CMMI的一些误解,因此我想说说 ...
- 一个python生成器的使用
def myegg(retlist): for i in retlist: rec = yield i mydict = [ {}, {}, {}, ] b = myegg(mydict) obj = ...