11.读取文件长度-fseek和ftell函数的使用

news2024/11/19 10:32:19

文章目录

  • 简介
    • 1. 写入测试文件
    • 2. 读取文件长度

简介

	主要讲使用fopen读取文件,配合使用fseek和ftell来读取文件长度。

1. 写入测试文件

	执行下方程序,使用fwrite函数写入40字节的数据,使其形成文件存入本地目录。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	FILE* fp = NULL;
	int arr[10] = { 0 };
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		arr[i] = i;
	}

	fp = fopen("date", "w+");
	if (NULL == fp)
	{
		printf("error!\n");
		return -1;
	}
	else
	{
		fwrite(arr, sizeof(int) * 10, 1, fp);
	}

	fclose(fp);
	fp = NULL;

	return 0;
}

	执行程序后,可以看到本地目录下生成date文件。右键打开文件属性可以看到文件大小是40字节。

在这里插入图片描述

2. 读取文件长度

	调用以下程序,可以成功读取到文件的长度(字节)。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int length = 0;
	FILE* fp = fopen("date", "rb");

	if (fp == NULL)
	{
		printf("Open File Error\n");
		return -1;
	}
	fseek(fp, 0, SEEK_END);//定位到文件的最后面

	length = ftell(fp);//ftell获得该文件指示符此时的偏移量,此时已经是在文件末尾,故能获得文件的大小

	printf("length = %d\n", length);

	return 0;
}
	程序运行结果:

在这里插入图片描述
可以看出读出的长度和我们程序写入的字节长度是一致的!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1138229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码审计及示例

简介&#xff1a; 代码安全测试是从安全的角度对代码进行的安全测试评估。 结合丰富的安全知识、编程经验、测试技术&#xff0c;利用静态分析和人工审核的方法寻找代码在架构和编码上的安全缺陷&#xff0c;在代码形成软件产品前将业务软件的安全风险降到最低。 方法&#x…

【蓝桥每日一题]-贪心(保姆级教程 篇2)#纪念品分组 #gcd排序

目录 题目&#xff1a;纪念品分组 思路&#xff1a; 题目&#xff1a;gcd排序 思路&#xff1a; 题目&#xff1a;纪念品分组 思路&#xff1a; 贪心思路&#xff1a;先将数据从小到大排序&#xff08;默认&#xff09;&#xff0c;然后让最左边l和最右边r匹配&#xff0c;…

【QT】点击按钮弹出对话框的注意实现

在stack区创建对话框对象 模态对话框&#xff0c;不可以对其他窗口进行操作。 模态窗口用dlg.exec()显示窗口。 问题代码1: MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);//点击新建按钮&#xff0c;弹出一…

华为eNSP配置专题-IPSec的配置

文章目录 华为eNSP配置专题-IPSec的配置0、概要介绍1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、终端构成和连接2.2、终端的基本配置 3、IPSec的配置3.1、通过ACL定义需要保护的数据流3.2、配置IPSec安全提议3.3、配置IPSec手动方式安全策略3.3.1、在R1上配置3…

05.大模型大数据量

文章目录 大模型顿悟时刻&#xff1a;Emergent Ability&#xff08;涌动现象&#xff09;Calibration Inverse Scaling PrizeSwitch Transformers 大数据量数据预处理去重 模型大小与训练数据的选择Instruction-tuningHuman TeachingKNN LM 部分截图来自原课程视频《2023李宏毅…

Java流(Stream)式编程

流式编程 Stream作为Java 8的一大亮点&#xff0c;它专门针对集合的各种操作提供各种非常便利&#xff0c;简单&#xff0c;高效的API,Stream API主要是通过Lambda表达式完成&#xff0c;极大的提高了程序的效率和可读性。 流式编程的概念基于函数式编程的思想&#xff0c;旨…

Linux云服务器限制ip进行ssh远程连接

对Linux云服务器限制IP进行SSH远程连接的原因主要有以下几点&#xff1a; 增加安全性&#xff1a;SSH是一种加密的网络传输协议&#xff0c;可以保护数据的机密性和完整性。通过限制SSH连接的IP地址&#xff0c;可以防止未经授权的访问和数据泄露。只有拥有访问权限的IP地址才…

DDOS版-超功能记事本 Ⅲ 8.8源码

DDOS版-超功能记事本 Ⅲ 8.8源码 下载地址&#xff1a;https://user.qzone.qq.com/512526231/main

ESB优势2019-架构师(六十二)

分布式数据数据库系统除了包含集中式数据库系统的模式结构外&#xff0c;还增加了几个模式级别&#xff0c;其中&#xff08;&#xff09;定义了分布式数据库中数据的整体逻辑结构、使得数据使用方便&#xff0c;如同没有分布一样。 分片模式全局外模式分布模式全局概念模式 …

jmeter疑难杂症

mac启动jmeter 进入jmeter文件夹下的bin目录 执行sh jmeter 如何线程与线程之间按照顺序执行 线程组内随机执行 选择线程组右键 >>> 添加 >>> 逻辑控制器 >>> 随机顺序控制器&#xff08;Random Order Controller&#xff09; 如何提取cookie的…

【MyBatis Plus】初识 MyBatis Plus,在 Spring Boot 项目中集成 MyBatis Plus,理解常用注解以及常见配置

文章目录 一、初识 MyBatis Plus1.1 MyBatis Plus 是什么1.2 MyBatis Plus 和 MyBatis 的区别 二、在 Spring Boot 项目中集成 MyBatis Plus2.1 环境准备2.2 引入 MyBatis Plus 依赖2.3 定义 Mapper2.4 测试 MyBatis Plus 的使用 三、MyBatis Plus 常用注解3.1 为什么需要注解3…

Android12之#pragma clang diagnostic ignored总结(一百六十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

性能卓越 全栈自主 HashData与华为金融数仓一体机联合方案全面解读

​金融业作为数据覆盖广泛、服务社会主体众多、应用场景丰富的关键行业&#xff0c;一直以对数据基础设施的高要求而著称&#xff0c;也是检验产品与方案成熟度的试金石。经过长期的服务与实践&#xff0c;HashData已形成面向金融核心业务的成熟数仓产品。 凭借对金融场景的深…

基于Python Django 的微博舆论、微博情感分析可视化系统(V2.0)

文章目录 1 简介2 意义3 技术栈Django 4 效果图微博首页情感分析关键词分析热门评论舆情预测 5 推荐阅读 1 简介 基于Python的微博舆论分析&#xff0c;微博情感分析可视化系统&#xff0c;项目后端分爬虫模块、数据分析模块、数据存储模块、业务逻辑模块组成。 Python基于微博…

计算文本相似度,输出相似度最高的n个

TF-IDF import jieba import pandas as pd from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity# 示例句子列表 sentences ["今天天气真好&#xff0c;阳光明媚。","关键字匹配是一种常见的…

什么是虚拟主播?

随着科技的不断发展&#xff0c;人工智能技术已经逐渐渗透到各个行业&#xff0c;为企业带来了前所未有的变革。在视频制作领域&#xff0c;美摄作为一家领先的智能视频技术提供商&#xff0c;针对企业需求推出了一款创新的虚拟主播解决方案&#xff0c;旨在帮助企业实现高效、…

「滚雪球学Java」:常用类(章节汇总)

&#x1f3c6;本文收录于「滚雪球学Java」专栏&#xff0c;专业攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎大家关注&&收藏&#xff01;持续更新中&#xff0c;up&#xff01;up&#xff01;up&#xff01;&#xf…

机器学习实验六:决策树-海洋生物例子

#创建数据集 import numpy as np import pandas as pd from sklearn import tree from sklearn.tree import DecisionTreeClassifier import graphviz def createDataSet():row_data {no surfacing:[1,1,1,0,0],flippers:[1,1,0,1,1],fish:[yes,yes,no,no,no]}dataSet pd.Dat…

轻松搭建Linux宝塔面板并实现公网访问Discuz论坛,让您的论坛更具吸引力

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&a…

js中的Formdata数据结构

这里写目录标题 一、基本概念二、常用方法1.append(name, value)、set(name, value)2.get()、getAll()3.has(name)4.delete(name)5.keys(),values(),entries() 三、其他细节1.for of遍历2.转为对象3.结合 URLSearchParams 转为queryString 一、基本概念 FormData 提供了一种表…