• 文件读取及比较&文件信息保存


    #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
    ");
            return ERROR;
        }
        fseek(fp, 0 , SEEK_SET);
        file_set_val = ftell(fp);
        fseek(fp, 0 , SEEK_END);
        file_end_val = ftell(fp);    
        printf("file length is %d. 
    file_set_val:%d file_end_val:%d 
    ", 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
    ");
            return ERROR;
        }
        fread(content, len, 1, fp);
        printf("read content is:%s
    ", content);
        return 0;
    }
    
    int back_para_increase(char* fileName, int flag)
    {
        FILE* fp;    
        fp = fopen(fileName, "ab");
        if(fp == NULL)
        {
            printf("read file fail
    ");
            return ERROR;
        }
        if(flag)
        {
            fputc('1', fp);
        }    
        fclose(fp);    
    }
    
    int file_compare()
    {
        char* content_1;
        char* content_2;
        int len = 0, flag_val = 0;
        
        len = file_length(file_name_1);
        content_1 = (char*)malloc(len);
        memset(content_1, 0, len);
        read_file(file_name_1, content_1, len);
        
        len = file_length(file_name_2);
        content_2 = (char*)malloc(len);
        memset(content_2, 0, len);
        read_file(file_name_2, content_2, len);
        
        if(strcmp(content_1, content_2))
        {
            back_para_increase(file_name_3,1);
            flag_val = file_length(file_name_3);
            printf("back_para_increase:%d
    ",flag_val);
        }
        free(content_1);
        free(content_2);
    }
    
    int main()
    {
        printf("***************************
    ");
        file_compare();
        return 0;
    }
  • 相关阅读:
    JavaScript-Runoob-JS 高级教程 :JavaScript 对象
    JavaScript-Runoob-JS HTML DOM :DOM 节点列表
    JavaScript-Runoob-JS HTML DOM :集合(Collection)
    JavaScript-Runoob-JS HTML DOM :DOM 元素
    JavaScript-Runoob-JS HTML DOM :EventListenter
    JavaScript-Runoob-JS HTML DOM :事件
    JavaScript-Runoob-JS HTML DOM :改变 CSS
    discuz的css处理机制
    discuz的diy功能介绍
    php在线支付流程
  • 原文地址:https://www.cnblogs.com/liuyang92/p/6602516.html
Copyright © 2020-2023  润新知