Linux 应用编程之fseek()、ftell()函数
1、fseek()函数
库函数 fseek()用于设置文件读写位置偏移量。
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);
⚫ SEEK_SET:读写偏移量将指向 offset 字节位置处(从文件头部开始算);
#include <stdio.h>
#include <stdlib.h>int main(void)
{FILE *fp = NULL;char rd_buf[100] = {0};char wr_buf[] = "Linux应用编程,开心快乐每一天!";int ret;/* 打开文件 */if (NULL == (fp = fopen("./test_file", "w+"))){perror("fopen error");exit(-1);}printf("文件打开成功!\n");/* 写文件 */if (sizeof(wr_buf) >fwrite(wr_buf, 1, sizeof(wr_buf), fp)){printf("fwrite error\n");fclose(fp);exit(-1);}printf("数据写入成功!\n");/* 将读写位置移动到文件头部 */if (0 > fseek(fp, 0, SEEK_SET)){perror("fseek error");fclose(fp);exit(-1);}/* 读文件 */if (sizeof(wr_buf) > (ret = fread(rd_buf, 1, sizeof(wr_buf), fp))){printf("fread error\n");fclose(fp);exit(-1);}printf("成功读取%d 个字节数据: %s\n", ret, rd_buf);/* 关闭文件 */fclose(fp);exit(0);
}
#include <stdio.h>
long ftell(FILE *stream);
#include <stdio.h>
#include <stdlib.h>int main(void)
{FILE *fp = NULL;int ret;/* 打开文件 */if (NULL == (fp = fopen("./testApp.c", "r"))){perror("fopen error");exit(-1);}printf("文件打开成功!\n");/* 将读写位置移动到文件末尾 */if (0 > fseek(fp, 0, SEEK_END)){perror("fseek error");fclose(fp);exit(-1);}/* 获取当前位置偏移量 */if (0 > (ret = ftell(fp))){perror("ftell error");fclose(fp);exit(-1);}printf("文件大小: %d 个字节\n", ret);/* 关闭文件 */fclose(fp);exit(0);
}
编译测试:
Linux 应用编程之fseek()、ftell()函数相关推荐
- Linux服务器编程之:link()函数,ln命令,symlink,readlink,案例说明
1 link()依赖头文件 #include<unistd.h> 2函数定义 int link(const char *oldpath,const char *newpath); 函数说明 ...
- Linux服务器编程之:utime()函数
1.依赖的头文件 #include<sys/types.h> #include<utime.h> 2函数声明 int utime(const char *filename, c ...
- Linux服务器编程之:chown()函数,chown命令
1.依赖的头文件 #include<unistd.h> 2.函数定义: //通过传入path的方式,改变和文件的拥有关系,如果他是一个符号链接,则跟踪它 int chown(const c ...
- linux网络编程之用select函数实现io复用(基于TCP)引发的思考
1.基本概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程.IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/ ...
- linux chown 函数用噶,Linux服务器编程之:chown()函数,chown命令
1.依赖的头文件 #include 2.函数定义: //通过传入path的方式,改变和文件的拥有关系,如果他是一个符号链接,则跟踪它 int chown(const char *path, uid_t ...
- linux读取文件修改时间函数,Linux服务器编程之utime()函数修改文件存取时间
Linux服务器编程之utime()函数修改文件存取时间 C语言utime()函数:修改文件的存取时间和更改时间 头文件: #include #include 定义函数: int utime(cons ...
- linux c编程之fcntl
fcntl可实现对指定文件描述符的各种操作,其函数原型如下: int fcntl(int fd, int cmd, ... /* arg */ ); 其中,操作类型由cmd决定.cmd可取如下值: F ...
- linux C编程之makefile
linux C编程之makefile 目的: 基本掌握了 make 的用法,能在Linux系统上编程. 环境: Linux系统,或者有一台Linux服务器,通过终端连接.一句话 ...
- Linux网络编程之sockaddr与sockaddr_in,sockaddr_un结构体详细讲解
Linux网络编程之sockaddr与sockaddr_in,sockaddr_un结构体详细讲解 (1)sockaddr struct sockaddr { unsigned short sa_ ...
最新文章
- 基于线段的激光雷达和单目联合曲面重建
- Python可变数据类型高效编程
- 【Python面试】 列举Python中的标准异常类?
- Arcgis Server初学笔记(一)
- R.I.P. Alan Turing(旧文搬运15.6.6)
- Java实现判断中文字符串长度
- Vue项目 chrome页面崩溃:喔唷 崩溃了, 并出现警告Forced reflow while executing JavaScript took Nms
- java.lang.IllegalStateException: Shutdown in progress
- ios闹钟铃声实现代码
- 关于错误“未能加载文件或程序集”的错误的若干处理办法——对GAC的简单应用
- windows下模拟鼠标点击和键盘输入
- DELMIA软件:机器人工作区运动包络功能介绍与创建方法
- 为什么机器学习之路没有捷径可走?
- 匿名内部类以及Lambda表达式(Java和C#)
- 2020总结 | 作为技术号主的一年!
- 计算机绘图说课视频,说课稿认识画图软件
- 用 Python 打扑克牌——炸金花
- 安装PS CC2019
- [OpenCV4] 湖南大学数字图像处理实验1
- 微信小程序踩坑记录 ------- canvas 生成带小程序码的微信朋友圈分享图
热门文章
- 联想台式主机拆机教程_联想 aio 520 拆机教程 ,全网最完整版,细节不放过,不看后悔...
- 第四章 向量组的线性相关性
- 数字音频总线A2B开发详解十二(A2B一Master板做音效处理-31段EQ,高中低音分频等)
- 加湿器工作原理与电路介绍(共19页pdf下载)附电路原理图(转)
- aida64注册信息已损坏_AIDA64 Extreme(硬件检测)
- autoit学习笔记---“While…WEnd”循环
- 计算机查看硬件win10,win10查看硬件配置_win10查看硬件详细配置
- 巨星mtv_沟通巨星:了解您的组织采用新技术方法的模型
- 一份MES系统整体解决方案
- 安居客二手房信息爬取(六安)