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

C语言获取文件长度

C语言获取文件长度

文章目录

  • C语言获取文件长度
    • 一、使用标准库方法
    • 二、使用Linux系统调用

一、使用标准库方法

#include <stdio.h>long get_file_size(const char * filename ){long size = 0;FILE * fp = fopen(filename,"rb");if( fp == NULL ) {printf("open file %s failed\r\n",filename);return 0;}// 移动文件指针到文件末尾fseek(fp,0,SEEK_END);// 获取文件长度size = ftell(fp);fclose(fp); fp = NULL;return size;
}

二、使用Linux系统调用

在Linux操作系统下,可以使用stat函数来获取文件信息,其中st_size字段表示文件的长度。

#include <stdio.h>
#include <sys/stat.h>long get_file_size(const char * filename ){struct stat st;// 获取文件信息if( stat(filename,&st) == -1){printf("get file %s 's info failed\r\n",filename);return 0;}//S_ISLNK(st_mode):是否是一个连接//S_ISREG是否是一个常规文件//S_ISDIR是否是一个目录//S_ISCHR是否是一个字符设备//S_ISBLK是否是一个块设备//S_ISFIFO是否是一个FIFO文件//S_ISSOCK是否是一个SOCKET文件// 检查文件类型if( !S_ISREG(st.st_mode)){printf("%s 不是一个常规文件\r\n",filename);return 0;}return st.st_size;
}

相关文章:

C语言获取文件长度

C语言获取文件长度 文章目录 C语言获取文件长度一、使用标准库方法二、使用Linux系统调用 一、使用标准库方法 #include <stdio.h>long get_file_size(const char * filename ){long size 0;FILE * fp fopen(filename,"rb");if( fp NULL ) {printf("o…...

【面试经典150 | 哈希表】快乐数

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;哈希集合判重方法二&#xff1a;快慢指针判重 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为…...

ETL实现实时文件监听

一、实时文件监听的作用及应用场景 实时文件监听是一种监测指定目录下的文件变化的技术&#xff0c;当产生新文件或者文件被修改时&#xff0c;可实时提醒用户并进行相应处理。这种技术广泛应用于数据备份、日志管理、文件同步和版本控制等场景&#xff0c;它可以帮助用户及时…...

Openssl数据安全传输平台003:Protobuf - 部署

文章目录 Github代码仓库位置一、Windows环境配置生成库文件之后—>参考3.3 配置VS1. 先将平台设置为所有平台2. 配置属性 >> C/C >> 常规 >> 附加包含目录3. 配置属性 >> C/C >> 预处理器 >> 预处理器定义,添加4. 配置属性 >> C…...

Proteus仿真--一种智能频率计的设计与制作(AVR单片机+proteus仿真)

本文介绍一种基于AVR单片机实现的一种智能频率计Proteus仿真实现&#xff08;完整仿真源文件及代码见文末链接&#xff09; 简介 硬件电路主要分为单片机主控模块、频率计模块、LCD1602液晶显示模块以及串口模块 &#xff08;1&#xff09;单片机主控模块&#xff1a;单片机…...

CAS是“Compare and Swap“(比较并交换)

CAS是"Compare and Swap"&#xff08;比较并交换&#xff09; 一&#xff0c;介绍 CAS是"Compare and Swap"&#xff08;比较并交换&#xff09;的缩写&#xff0c;是一种多线程同步的原子操作。它基于硬件的原子性保证&#xff0c;用于解决并发环境下的…...

前端数据可视化之【series、series饼图配置】配置项

目录 &#x1f31f;Echarts配置项&#x1f31f;series&#x1f31f;饼图 type:pie&#x1f31f;写在最后 &#x1f31f;Echarts配置项 ECharts开源来自百度商业前端数据可视化团队&#xff0c;基于html5 Canvas&#xff0c;是一个纯Javascript图表库&#xff0c;提供直观&…...

03.MySQL事务及存储引擎笔记

事务 查看/设置事务 select autocommit; --查看当前数据库的事务状态&#xff0c;1表示开启&#xff0c;0表示关闭 set autocommit 0; --关闭自动事务提交采用关闭自动事务提交我们就可以手动进行事务提交&#xff0c;但是这种设置方式是对整个数据库起作用&#xff0c;一些可…...

input框输入中文时,输入未完成触发事件。Vue中文输入法不触发input事件?

前言 在做搜索输入框时&#xff0c;产品期待实时搜索&#xff0c;就是边输入边搜索&#xff0c;然而对于中文输入法出现的效果&#xff0c;不同的产品可能有不同的意见&#xff0c;有的觉得输入未完成也应该触发搜索。但有的却认为应该在中文输入完成后再触发搜索。我发现在vu…...

ArmSoM-RK3588编解码之mpp解码demo解析:mpi_dec_test

1. 简介 [RK3588从入门到精通] 专栏总目录 mpi_dec_test 是rockchip官方解码 demo 本篇文章进行mpi_dec_test 的代码解析&#xff0c;解码流程解析 2. 环境介绍 硬件环境&#xff1a; ArmSoM-W3 RK3588开发板 软件版本&#xff1a; OS&#xff1a;ArmSoM-W3 Debian11 3.…...

v-for列表渲染

一、v-for迭代数组 <li v-for"(e,index) in emp" :key"e.id">编号{{index1}} 名字{{e.name}} 年龄{{e.age}} </li> e 是循环数组中的每个元素的别名index 是当前循环的下表&#xff0c;从0开始:key 的作用&#xff1a; 是为了给 Vue 一个提示…...

【引流技术】最新头条全自动引流脚本,解放双手自动引流【引流脚本+技术教程】

软件功能&#xff1a; 评论点赞 适用于自己做头条号,去别人评论区截留,点赞,别人会收到提醒,达到回访效果 文章/视频评论 可以自己发布引流文章或视频,引导进你主页或者私信你,达到引流效果 设备需求&#xff1a; 安卓手机8.1及以上系统 文章分享者&#xff1a;Linxiaoyu…...

智能PDU的“智能”体现在哪些方面?

智能PDU是一种用于管理和监控数据中心或其他设施中的电源分配设备&#xff0c;通过引入以太网络、语音服务等新颖的通讯手段&#xff0c;增加了传统机柜PDU插座所不能提供的智能管理控制模块和控制芯片&#xff0c;同时兼具电源分配和管理功能。智能PDU是当今现代化IDC数据中心…...

Flutter和SwiftUI比较

0.语言 SwiftUI 毫无疑问是Swift语言编写&#xff0c; 在2019年正式推出&#xff0c;目前最新是Swift 5.9 (2023年9月)&#xff0c;由Apple公司维护和发行&#xff1b; 该编程语言发明人已离职Apple。 语言官网&#xff1a;https://developer.apple.com/swift/ 最好用Xcode编…...

使用ngrok内网穿透后,调用相关接口报ERR_NGROK_6024 异常

header增加&#xff1a;ngrok-skip-browser-warning:69420即可。如下图&#xff1a;...

举个栗子!Alteryx 技巧(6):从 API 中提取数据

你听说过从 API 中提取数据吗&#xff1f;API 是指应用编程接口&#xff0c;是计算机之间或计算机程序之间的连接&#xff0c;它是一种软件接口&#xff0c;让不同的软件进行信息共享。对于很多数据分析师来说&#xff0c;他们常常需要从 API 中提取数据&#xff0c;那么如何快…...

算法、语言混编、分布式锁与分布式ID、IO模型

一、算法初识 数据结构和算法是程序的基石。我们使用的所有数据类型就是一种数据结构&#xff08;数据的组织形式&#xff09;&#xff0c;写的程序逻辑就是算法。 算法是指用来操作数据、解决程序问题的一组方法。 对于同一个问题&#xff0c;使用不同的算法&#xff0c;也…...

代码随想录 Day26 贪心 01 全集 LeetCode455 分发饼干 LeetCodeT346摆动序列 LeetCdoe T53 最大子数组和

前言:贪心无套路 本质: 局部最优去推导全局最优 两个极端 贪心算法的难度一般要么特别简单,要么特别困难,所以我们只能多见识多做题,记住无需数学证明,因为两道贪心基本上毫无关系,我们只需要去思考局部最优即可 贪心的小例子 比如有一堆钞票&#xff0c;你可以拿走十张&#x…...

【前端vue面试】TypeScript

目录 快速入门0、TypeScript简介1、TypeScript 开发环境搭建2、基本类型3、编译选项4、webpack5、Babel面向对象1、类(class)2、面向对象的特点3、接口(Interface)4、泛型(Generic)快速入门 0、TypeScript简介 TypeScript是JavaScript的超集。它对JS进行了扩展,向JS中引…...

vue-next-admin框架的认识

最近利用这个框架二开了一个后台管理系统&#xff0c;这里简单介绍一下&#xff0c;后续会进行框架的修改等文章 1&#xff1a;介绍 Vue-next-admin是一个基于Vue3和Element-Plus的后台管理系统框架。它提供了一套完整的、易于扩展的后台管理界面解决方案&#xff0c;可用于快…...

qsort函数深度解析:如何自定义比较函数?

文章目录qsort函数深度解析&#xff1a;如何自定义比较函数&#xff1f;&#x1f680;什么是qsort函数&#xff1f;&#x1f914;自定义比较函数的重要性&#x1f3af;基本示例&#xff1a;排序整数数组&#x1f522;排序字符串数组&#x1f4dd;排序结构体数组&#x1f3d7;️…...

不用死刷算法题!从零手搓伪随机数,吃透DP、状态机与缓存优化

不用死刷算法题&#xff01;从零手搓伪随机数&#xff0c;吃透DP、状态机与缓存优化 文章目录不用死刷算法题&#xff01;从零手搓伪随机数&#xff0c;吃透DP、状态机与缓存优化一、核心训练思路&#xff1a;从「简单迭代」到「多阶依赖」二、入门&#xff1a;从简单迭代开始&…...

绩效考核软件避坑实录:为什么你觉得绩效考核软件”不好用”

好用的绩效考核软件应该具备灵活的考核模板配置、自动化流程推进、多维度数据分析三大核心能力。 2026年主流绩效考核软件已普遍集成AI能力&#xff0c;可将绩效评估周期从平均2周压缩到3天&#xff0c;同时减少70%以上的人为评分偏差。选择时重点关注系统的配置灵活度、与现有…...

相同文件按优先级取唯一值

问题&#xff1a;我有三个文件&#xff0c;字段名都一样&#xff0c;如果不重复就union到一起&#xff0c;如果有重复&#xff0c;按类型优先级取唯一值&#xff0c;用python实现import pandas as pd from datetime import date import time todaystr(date.today())filepath/Us…...

小白程序员必看:收藏这份大模型学习指南(Agent/MCP全解析)

引言 – 随着生成式人工智能的兴起&#xff0c;“智能体&#xff08;Intelligent Agent&#xff09;”、“Agent”以及“Model Context Protocol (MCP)”这些名词频频出现。但它们之间的边界往往模糊&#xff1a;有人把 Agent 当作“智能体”&#xff0c;有人又提到 MCP 协议&a…...

基于STM32LXXX的数字电位器(AD5245BRJZ10-RL7)驱动应用程序设计

一、简介: AD5245是Analog Devices公司生产的一款256-位置、I2C兼容型数字电位器。它主要用于替代机械式电位器,适用于对分辨率、可靠性和温度系数有要求的场合。 二、主要技术特性: 参数 值 抽头数 (Resolution) 256 Positions 端到端电阻 (Resistance) 10 kΩ (型号中的“…...

BongoCat桌宠自定义开发全面解析:从设计到社区贡献的实战指南

BongoCat桌宠自定义开发全面解析&#xff1a;从设计到社区贡献的实战指南 【免费下载链接】BongoCat &#x1f431; 跨平台互动桌宠 BongoCat&#xff0c;为桌面增添乐趣&#xff01; 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 开源项目设计理念与架构解…...

群晖Video Station元数据插件全攻略:从部署到优化的完整指南

群晖Video Station元数据插件全攻略&#xff1a;从部署到优化的完整指南 【免费下载链接】syno-videoinfo-plugin A simple web scraping plugin for Synology Video Station 项目地址: https://gitcode.com/gh_mirrors/sy/syno-videoinfo-plugin 元数据插件是群晖Video…...

CKKS 同态加密数学基础推导妥

背景 StreamJsonRpc 是微软官方维护的用于 .NET 和 TypeScript 的 JSON-RPC 通信库&#xff0c;以其强大的类型安全、自动代理生成和成熟的异常处理机制著称。在 HagiCode 项目中&#xff0c;为了通过 ACP (Agent Communication Protocol) 与外部 AI 工具&#xff08;如 iflow …...

Steam Achievement Manager:游戏成就全流程管理工具详解

Steam Achievement Manager&#xff1a;游戏成就全流程管理工具详解 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager &#x1f31f; 为什么选择Steam Achie…...