【C 语言】文件操作 ( fseek 函数 )
文章目录
- 一、fseek 函数
- 二、fseek 函数代码示例
一、fseek 函数
FILE 文件结构中 , 存在一个指针 , 每次调用文件的读写函数 , 该指针就会移动 ;
如 fgets / fputs , getc / putc , fscanf / fprintf , fread / fwrite 等函数 ;
默认情况下 , 指针是从前向后移动的 ;
该文件内部的指针指向的位置可以通过 fseek
函数进行改变 ;
fseek 函数原型如下 : 重新设置文件内部指针的位置 ;
#include <stdio.h>
int fseek(FILE *stream, long offset, int fromwhere);
设置的指针的位置是 起始位置 + 偏移量 ;
其中的 int fromwhere
参数就是 起始位置 , 有以下三种选择 :
- 文件头
SEEK_SET
0 - 当前位置
SEEK_CUR
1 - 文件尾
SEEK_END
2
long offset
偏移量参数 , 可以为正数 , 也可以为负数 ;
如果执行成功 , 则返回 0 , 失败返回非 0 , 并设置 error 错误代码 ;
二、fseek 函数代码示例
fseek 函数代码示例 : 先写出 10 字节数据 , 然后正常读取前 2 字节 , 最后跳过 4 字节 再读取 2 字节 ;
#include <stdio.h>int main()
{// 以写文本的方式向文件中写出数据FILE *p = fopen("D:/File/number.dat", "w");// 写出 10 个字符char array[10] = {1,2,3,4,5,6,7,8,9,10};// 将 10 个字符写出到文件中fwrite(array, 1, sizeof(array), p);// 关闭文件fclose(p);// 正常读取文件前 2 字节FILE *p1 = fopen("D:/File/number.dat", "r");// 读取数据缓冲区char array1[2];// 读取前 2 字节fread(array1, 1, sizeof(array1), p1);// 打印前 2 字节数据printf("%d , %d\n", array1[0], array1[1]);// 跳过 4 字节读取文件 2 字节FILE *p2 = fopen("D:/File/number.dat", "r");// 读取数据缓冲区char array2[2];// 跳过 4 字节 , 此时当前位置是 0fseek(p2, 4, SEEK_CUR);// 读取 2 字节fread(array2, 1, sizeof(array2), p2);// 打印前 2 字节数据printf("%d , %d", array2[0], array2[1]);return 0;
}
执行结果 :
【C 语言】文件操作 ( fseek 函数 )相关推荐
- C语言 文件读写 fseek 函数 - C语言零基础入门教程
目录 一.fseek 函数简介 二.fseek 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fseek 函数简介 fse ...
- c语言文件操作常用函数及读写文件代码举列
文件操作常用函数 fopen() 打开流 fclose() 关闭流 fputc() 写一个字符到流中 fgetc() 从流中读一个字符 fseek() 在流中定位到指定的字符 fputs() 写字符串 ...
- c语言文件操作步骤是,文件操作的正确流程,C语言文件操作的函数
引言 操作文件的正确操作流程为: 打开文件->读写文件->关闭文件 在对文件进行读写操作之前,需要先打开文件,操作完成之后就要关闭文件!所谓的打开文件,就是需要获取文件的信息,例如文件名. ...
- C语言文件操作:获取文件中文本的大小(长度)
1.方法 1.1 获取文件大小 ftell()函数 描述:C 库函数 long int ftell(FILE *fp ) 返回给定流 stream 的当前文件位置. 参数:fp -- 这是指向 FIL ...
- C语言——文件操作函数 fseek、ftell、rewind详解
前言 前面,我讲了讲文件操作的第二步:文件的读写操作,里面详细的介绍了各类读写函数的用法,有兴趣的小伙伴可以去看看: C语言--文件操作(2)文件的读写操作_ 接下来,我再来讲一讲关于标题中这三个函数 ...
- C语言文件操作函数大全(看到总结的真的很好,就转载贡献给大家了)
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * st ...
- linux c文件操作,C语言文件操作(FILE)与常用文件操作函数
文件 1.文件基本概念 C程序把文件分为ASCII文件和二进制文件,ASCII文件又称文本文件,二进制文件和文本文件(也称ASCII码文件)二进制文件中,数值型数据是以二进制形式存储的, 而在文本文件 ...
- c语言全文件操作函数,C语言文件操作函数大全
C语言 文件操作函数大全 C语言文件操作函数 2007-10-17 19:21 13.1C语言文件 1,两种文件存取方式(输入,输出方式) 顺序存取 直接存取 2,数据的两种存放形式 文本文件 二进制 ...
- [C语言]文件操作函数
[C语言]文件操作函数 本文主要学习**fopen,fclose,fgetc,fgets,fputc,fputs,fwrite,fread,feof**这几个文件操作函数. 以上函数,需要导入 ...
- c语言 freopen txt_C语言文件操作函数freopen详解
C语言文件操作函数freopen详解 今天做USACO 用到了文件的操作. 之前做USACO只是格式化的.些 写 freopen("xxx.in","r",st ...
最新文章
- UVA 11134 FabledRooks 传说中的车 (问题分解)
- matlab绘制频散曲线,Matlab绘制频散曲线程序代码.docx
- python对城市规划_Python对城市距离自动化爬取【必学小型项目】
- Eclipse远程调试HDP源代码
- SpringMVC的请求-获得请求参数-获得POJO类型参数
- Service group - get entity set
- python数据挖掘电影评分分析_Pyhon数据分析项目——男女电影评分差异比较
- python中的画布背景设置_教你用python画图—Turtle详细教程
- Python--Flask初学Demo(11.10)
- 利用Vert.x构建简单的API 服务、分布式服务
- 计算机主机箱的拆卸步骤,一种方便拆卸的计算机主机箱的制作方法
- LeetCode() Search in Rotated Sorted Array
- 技术交流群和CSDN免费下载服务
- Python 植物大战僵尸代码实现(2):植物卡片选择和种植
- Tomcat8的下载、安装、配置
- linux fedora14 u盘运行,通过U盘安装Fedora-14-i686-Live-Desktop
- 【Flex】“安装的AdobeFlashPlayer不是调试器”解决办法之详解
- 教你如何复制别人的QQ空间为自己用
- 愉快的舞会c++_项目经理和开发人员如何才能(愉快地!)给出实际的发货日期...
- android 自定义View 视差动画
热门文章
- 电路基础学习笔记2:串并联电路
- 图解通信原理与案例分析-13:无线对讲机案例--频率调制实现语音点对点无线通信
- 2021年道路运输企业安全生产管理人员考试试卷及道路运输企业安全生产管理人员实操考试视频
- PYECHARTS 实战 国内/国际地图航线图制作 (一)
- android中屏幕保护的实现的,Android 屏幕保护程序制做及源码
- 阿里巴巴MaxCompute亮相VLDB2017
- 码农小汪-synchronized
- 光影精灵安装ubuntu20.04安装显卡驱动外界显示屏
- 计算机网络校园网建设设计摘要,计算机网络专业毕业论文校园网建设设计.doc...
- 提供一个vs2010 sp1的下载