比较两个文件的数字差异

复制代码
#include <m_tools.h>
#include <stdio.h>
#include <assert.h>
#include <vector>
#include <string>
int main(int argc , char ** argv)
{

    assert( argc>=3 );
    FILE* file1, *file2;

    printf( "open file %s , %s ...\n", argv[1], argv[2] );

    file1 = fopen(argv[1],"r");
    file2 = fopen(argv[2], "r");

    if (!file1 || !file2) {
        printf("open files fail \n");
        getchar();
    }

    char str1[1024];
    char str2[1024];
    int linecount = 0;
    double d_max = 0;

    while (!feof(file1) && !feof(file2)) {
        ++linecount;
        fgets(str1, 1024, file1);
        fgets(str2, 1024, file2);  
        std::vector<float> nums1 = search_number_f( std::string( str1 ) );
        std::vector<float> nums2 = search_number_f(std::string(str2));

        int sz = __min(nums1.size(), nums2.size());
        for (int i = 0; i != sz; ++i) {
            double d = fabs(nums1[i]-nums2[i]);
            if (d > d_max) {
                printf( "find more different number %.8f, %.8f , diff=%.8f line=%d\n",nums1[i], nums2[i], d, linecount);
                d_max = d;
            }
        }
    }

    fclose(file1);
    fclose(file2);
    printf("done\n");
    getchar();
}
复制代码

 

posted @   洛笔达  阅读(195)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示