当前位置: 首页 > news >正文

c语言 判断两个文件是否相同

使用strcmp比较:

#include <stdio.h>
#include <string.h>int Compare(const char * file1, const char* file2)
{FILE* f1, * f2;int size1, size2;unsigned char buffer1[1024], buffer2[1024];f1 = fopen(file1, "rb+");f2 = fopen(file2, "rb+");size1 = fread(buffer1, 1, 1024, f1);size2 = fread(buffer2, 1, 1024, f2);printf("(%d)\n", size1);printf("(%d)\n", size1);printf("%s\n", buffer1);printf("%s\n", buffer2);if (strncmp(buffer1, buffer2, size1) == 0){return 1;}fclose(f1);fclose(f2);return 0;
}int main(int argc, char* argv[])
{if (Compare("1.txt", "2.txt")){printf("文件内容相同!\n");}else{printf("文件内容不相同!\n");}return 0;
}

通过字节比较:

#include<stdio.h>int Compare(const char * file1, const char* file2)
{FILE* f1, * f2;int size1, size2;unsigned char buffer1[1024], buffer2[1024];f1 = fopen(file1, "rb+");f2 = fopen(file2, "rb+");int isTheSame = 0;if (!f1)goto end;if (!f2)goto end;while (1){size1 = fread(buffer1, 1, 1024, f1);printf("(%s)\n", buffer1);size2 = fread(buffer2, 1, 1024, f2);if (size1 != size2){goto end;}if (size1 < 1)break;for (int i = 0; i < size1; i++){if (buffer1[i] != buffer2[i]){goto end;}}}isTheSame = 1;
end:if (f1)fclose(f1);if (f2)fclose(f2);return isTheSame;
}int main(int argc, char* argv[])
{if (Compare("1.txt", "2.txt")){printf("文件内容相同!\n");}else{printf("文件内容不相同!\n");}return 0;
}

相关文章:

c语言 判断两个文件是否相同

使用strcmp比较&#xff1a; #include <stdio.h> #include <string.h>int Compare(const char * file1, const char* file2) {FILE* f1, * f2;int size1, size2;unsigned char buffer1[1024], buffer2[1024];f1 fopen(file1, "rb");f2 fopen(file2, &…...

【2021集创赛】Arm杯三等奖:基于FPGA的人脸检测SoC设计

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。 团队介绍 参赛单位&#xff1a;合肥工业大学 队伍名称&#xff1a;芯创之家 指导老师&#xff1a;邓红辉、尹勇生 参赛杯赛&#xff1a;Arm杯 参赛人员&#xff1a;王亮 李嘉燊 金京 获奖情…...

Java电商平台 - API 接口设计之 token、timestamp、sign 具体架构与实现|电商API接口接入

一&#xff1a;token 简介 Token&#xff1a;访问令牌access token, 用于接口中, 用于标识接口调用者的身份、凭证&#xff0c;减少用户名和密码的传输次数。一般情况下客户端(接口调用方)需要先向服务器端申请一个接口调用的账号&#xff0c;服务器会给出一个appId和一个key, …...

【带头学C++】----- 1.基础知识 ---- 1.23 运算符概述

1.23 运算符概述 运算符&#xff0c;在数学中常见的加减乘除之类的符号&#xff0c;那么在C在编程语言中呢&#xff0c;将使用特定的符号或标记对操作数进行操作以生成结果。用算术运算符将运算对象(也称操作数)连接起来的、符合C 语法规则的式子&#xff0c;称为C 算术表达式运…...

python爬虫分析基于python图书馆书目推荐数据分析与可视化

收藏关注不迷路 文章目录 前言一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、文章目录 前言 随着电子技术的普及和快速发展&#xff0c;线上管理系统被广泛的使用&#xff0c;有很多商业机构都在实现电子信息化管理&#xff0c;图书推荐也不例外&#xff0c…...

Java零基础入门-关系运算符

前言 Java作为一门广受欢迎的开发语言&#xff0c;其在企业级应用和移动应用开发中有着广泛的应用。如果你是一个Java零基础的初学者&#xff0c;那么你来到了一个正确的地方。在本篇文章中&#xff0c;我们会详细介绍Java中的关系运算符&#xff0c;帮助你快速入门。 摘要 …...

1200*A. Trust Nobody(贪心)

Problem - 1826A - Codeforces 解析&#xff1a; 从大到小枚举说谎人的个数x&#xff0c;然后查看是否有 x个人说谎即可。 #include<bits/stdc.h> using namespace std; #define int long long const int N2e55; int t,n,a[N]; signed main(){scanf("%lld",&a…...

二维码智慧门牌管理系统升级解决方案:采集项目的建立与运用

文章目录 前言一、采集项目的建立二、采集项目的运用三、采集项目的意义 前言 在二维码智慧门牌管理系统的升级过程中&#xff0c;一个至关重要的环节是采集项目的建立与运用。采集项目是新建采集任务的前提&#xff0c;同时也是整个系统升级的关键步骤。其意义近似于现实中的…...

Azure - 机器学习:创建机器学习所需资源,配置工作区

目录 一、Azure机器学习工作区与计算实例简要介绍工作区计算实例 二、创建工作区1. 登录到 Azure 机器学习工作室2. 选择“创建工作区”3. 提供以下信息来配置新工作区&#xff1a;4. 选择“创建”以创建工作区 三、创建计算实例四、工作室实战4.1 工作室快速导览4.2 从示例笔记…...

电脑监控软件哪些比较好用

电脑监控软件在当今信息化时代越来越受到人们的关注&#xff0c;它们可以用于保护公司的商业机密&#xff0c;防止员工在工作中做一些不恰当的事情&#xff0c;以及在家庭中监控孩子的上网行为等。 本文将介绍一些比较好用的电脑监控软件&#xff1a; 一、域之盾软件 这款软件…...

数据结构与算法之排序: 选择排序 (Javascript版)

排序 排序&#xff1a;把某个乱序的数组变成升序或降序的数组 (这里用数组来做举例) 选择排序 该排序属于 贪心 策略关注的是局部&#xff0c;是一种苟且的东西 算法实现 // 随机数组&#xff0c;选择排序 Array.prototype.selectionSort function() {let len this.leng…...

【前端】NodeJS核心知识点整理

1.Node.js入门案例 1.1.什么是Node.js JS是脚本语言&#xff0c;脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS&#xff0c;浏览器充当了解析器的角色。而对于需要独立运行的JS&#xff0c;NodeJS就是一个解析器。 每一种解析器都是一个运行环境&#xff0c;不但…...

计算机操作系统重点概念整理-第三章 进程同步【期末复习|考研复习】

第三章 进程同步 【期末复习|考研复习】 计算机操作系统系列文章传送门&#xff1a; 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 文章目录 第三章 进程同步 【期末复习|考研复习】前言三、进程同步3.1 临…...

day06-Flex布局

Flex布局 目标&#xff1a;熟练使用 Flex 完成结构化布局 01-标准流 标准流也叫文档流&#xff0c;指的是标签在页面中默认的排布规则&#xff0c;例如&#xff1a;块元素独占一行&#xff0c;行内元素可以一行显示多个。 02-浮动 基本使用 作用&#xff1a;让块元素水平排…...

架构整洁之道摘录

软件架构 软件架构规则和其他变量完全⽆关。 软件设计的终极⽬标是⽤最⼩的成本来满⾜构建和维护系统的需求。 程序设计重要的是软件架构的灵活性⽽不是先实现功能。 软件系统的第⼀价值体系是系统⾏为&#xff0c;第⼆价值体系是系统架构 编程范式 结构化编程 利⽤if/else…...

流程引擎-自定义函数的应用

背景&#xff1a; 某些业务需求比较特殊&#xff0c;需要在表单中校验或实现一些功能&#xff0c;泛微流程表单配置时实现的方式多种多样&#xff1a;JS脚本、SQL语句、公式以及其他一些标准化拖拽功能&#xff0c;本次给大家分享一下流程表单中的公式实现的一些需求场景。泛微…...

ChatGLM系列二:ChatGLM2的介绍及代码实践

一、介绍 2023年06月25日&#xff0c;清华大学开源了 ChatGLM2-6B 模型&#xff0c;是 ChatGLM 模型的升级版本。ChatGLM2-6B 在多个方面有显著提升&#xff1a;模型性能更强&#xff0c;在各种测试集上的表现更好&#xff1b;支持更长的上下文&#xff0c;最大上下文长度提升…...

JDBC对数据库进行操作

一.使用JDBC查询数据库表t_user的所有数据 1.User表 名称 数据类型 主键 是否为空 说明 ID number 是 用户编号 NAME Varchar2(50) 用户名 AGE varchar2(5) 用户年龄 BIRTH date 用户生日 PWD varchar2(20) 否 用户密码 import java.sql.Connection; import java.sql.Date; …...

unity 使用Image的RectTransform来进行判断是否点击到

public RectTransform LeftTouchArea;public RectTransform RightTouchArea;private void Update(){if (Input.GetMouseButtonDown(0)){//获取鼠标的位置Vector2 mousePos Input.mousePosition;//判断Image的坐标是否包含点击的坐标if (RectTransformUtility.RectangleContain…...

【C++】类与对象 第一篇(class,this)

目录 什么是类&#xff1f; 类的引入 class 类的两种定义方式: 声明与定义分离 类的访问限定符号 访问限定符​编辑 C中struct和class的区别是什么? 封装 类的作用域 类的实例化 类对象模型 如何计算类对象的大小 this指针 C语言和C实现Stack的对比 C语言实现…...

FlashAttention 终极指南:如何实现4倍加速与20倍内存优化的革命性技术

FlashAttention 终极指南&#xff1a;如何实现4倍加速与20倍内存优化的革命性技术 【免费下载链接】flash-attention Fast and memory-efficient exact attention 项目地址: https://gitcode.com/GitHub_Trending/fl/flash-attention FlashAttention 是一种革命性的注意…...

Windows用户福音:WSL2+Docker快速部署Coze Studio开源版(附常见错误解决方案)

Windows平台高效部署Coze Studio开源版的完整指南 对于Windows开发者而言&#xff0c;在本地环境搭建Coze Studio开源版可能面临诸多挑战。本文将提供一套经过验证的完整解决方案&#xff0c;从WSL2配置到Docker优化&#xff0c;帮助您避开常见陷阱&#xff0c;快速实现Coze St…...

想转行AI行业?从入门到精通,掌握人工智能的核心技能!非常详细收藏我这一篇就够了

本文详细介绍了如何转行至算法岗&#xff0c;特别是机器视觉算法工程师的路径。文章首先分析了算法岗的要求&#xff0c;包括学历、项目经验、竞赛成绩等&#xff0c;并分享了个人的转行经历。接着&#xff0c;文章系统地梳理了所需的基础知识&#xff0c;如数学、编程语言、数…...

零基础打造AI动画:sd-webui-mov2mov视频生成插件终极指南

零基础打造AI动画&#xff1a;sd-webui-mov2mov视频生成插件终极指南 【免费下载链接】sd-webui-mov2mov This is the Mov2mov plugin for Automatic1111/stable-diffusion-webui. 项目地址: https://gitcode.com/gh_mirrors/sd/sd-webui-mov2mov 想要将普通视频转化为惊…...

计算机网络传输优化LingBot-Depth实时数据的方案

计算机网络传输优化LingBot-Depth实时数据的方案 1. 引言 想象一下&#xff0c;你正在使用LingBot-Depth处理实时深度数据&#xff0c;突然间网络开始卡顿&#xff0c;关键帧丢失&#xff0c;整个系统就像在泥沼中挣扎。这不是科幻场景&#xff0c;而是许多开发者在处理大规模…...

如何快速搭建Windows syslog服务器:开源日志监控终极指南

如何快速搭建Windows syslog服务器&#xff1a;开源日志监控终极指南 【免费下载链接】visualsyslog Syslog Server for Windows with a graphical user interface 项目地址: https://gitcode.com/gh_mirrors/vi/visualsyslog 在Windows环境下高效监控Unix/Linux系统和网…...

Python:图解 NumPy

NumPy 是 Python 中最受欢迎的第三方库之一。本文将通过图示和更具实践性的方式介绍其使用方法&#xff0c;使你能够通过直观理解来加深记忆。一、导入 NumPyimport numpy as np二、NumPy 数组的创建NumPy 支持从列表、元组、字符串、缓冲区、迭代器等多种数据来源创建数组。1、…...

STEP3-VL-10B真实案例分享:数学题图解、文档OCR、GUI定位全演示

STEP3-VL-10B真实案例分享&#xff1a;数学题图解、文档OCR、GUI定位全演示 1. 模型简介与核心能力 STEP3-VL-10B是阶跃星辰&#xff08;StepFun&#xff09;开源的轻量级多模态基础模型&#xff0c;拥有10B参数量&#xff0c;在视觉感知、复杂推理和人类对齐能力方面表现出色…...

避坑指南:Ubuntu 22.04安装PyTorch时,关于CUDA版本和驱动那些最容易踩的雷

避坑指南&#xff1a;Ubuntu 22.04安装PyTorch时&#xff0c;关于CUDA版本和驱动那些最容易踩的雷 如果你正在Ubuntu 22.04上搭建PyTorch开发环境&#xff0c;很可能已经遇到了几个令人困惑的问题&#xff1a;为什么nvidia-smi和nvcc -V显示的CUDA版本不一致&#xff1f;为什么…...

SLAM Toolbox终极指南:5分钟掌握机器人定位与建图核心技术

SLAM Toolbox终极指南&#xff1a;5分钟掌握机器人定位与建图核心技术 【免费下载链接】slam_toolbox Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS 项目地址: https://gitcode.com/gh_mirrors/sl/slam_toolbox SLAM Tool…...