文件读取及比较&文件信息保存
#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 ...
随机推荐
- 【转载】Linux GCC常用命令
作者:ggjucheng 出处:https://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html 1简介 2简单编译 2.1预处理 2 ...
- Delphi 程序调试
- 垃圾回收gc --翻译
原文在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management.基本保持了平译,并在一些地方做了概念解释.(转 ...
- uestc summer training #1
A 一个很好想的dp ll dp[maxn][]; int main() { scanf("%d%d",&n,&k); memset(dp,,sizeof(dp)) ...
- 最长回文子序列LCS,最长递增子序列LIS及相互联系
最长公共子序列LCS Lintcode 77. 最长公共子序列 LCS问题是求两个字符串的最长公共子序列 \[ dp[i][j] = \left\{\begin{matrix} & max(d ...
- Kattis - itsamodmodmodmodworld It's a Mod, Mod, Mod, Mod World (类欧几里得)
题意:计算$\sum\limits_{i=1}^n[(p{\cdot }i)\bmod{q}]$ 类欧模板题,首先作转化$\sum\limits_{i=1}^n[(p{\cdot}i)\bmod{q} ...
- restful api 相关
404:资源没有找到400:参数错误 200:Get获取成功201:Post创建成功202:Put更新成功 401:未授权403:当前的资源禁止 500:服务器的未知错误 错误码 错误信息 当前url ...
- js 代码位置不同,导致随着点击函数执行次数累加
每个人书写代码的习惯都不同吃,思想也都不一样,但在工作中为了减少工作量与时间,难免遇到要用别人写的代码.这次在使用同事的代码中,偶然发现的问题,因为js不好,所以一眼也没发现问题所在,查了查网上才知道 ...
- 5.反生成url
# url(r"^all/(?P<article_type_id>\d+)$", home.index,name="index" ), # 在htm ...
- 24. ClustrixDB 持久性配置文件
这些持久性选项不适用于内存中的表.有关更多信息,请参见内存表. ClustrixDB提供了一个选项,通过指定如何提交事务并使其持久,从而提高性能.当提交成功通知应用程序时,用户可以在提交过程中指定提交 ...