博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LDD3源码分析之llseek分析(二)
阅读量:4156 次
发布时间:2019-05-26

本文共 1880 字,大约阅读时间需要 6 分钟。

一  对llseek做了不同的分析:

    

#include 
#include
#include
#include
#include
#include
#define BUF_SIZE 50 #define DEVICE_FILE "test.c"int main(int argc, char *argv[]){ int fd; int num; char buf[BUF_SIZE]; fd = open(DEVICE_FILE, O_RDWR); if(fd < 0) { printf("open scull error!\n"); return -1; } memset(buf, 0, BUF_SIZE); num = read(fd, buf, BUF_SIZE); buf[num] = 0; printf("%s\n", buf); lseek(fd, 2, SEEK_SET); write(fd, "aa", 2); num = read(fd, buf, BUF_SIZE); buf[num] = 0; printf("%s\n", buf); lseek(fd, 2, SEEK_SET); num = read(fd, buf, BUF_SIZE); buf[num] = 0; printf("%s\n", buf); lseek(fd, 0, SEEK_SET); lseek(fd, 2, SEEK_CUR); num = read(fd, buf, BUF_SIZE); buf[num] = 0; printf("%s\n", buf); lseek(fd, 0, SEEK_SET); lseek(fd, 0, SEEK_END); memset(buf, 0, BUF_SIZE); printf("read return value is %d.\n", read(fd, buf, BUF_SIZE)); return 0;}
得出的打印结果:

2  代码: 

#include 
#include
#include
#include
#include
#include
#define BUF_SIZE 50 #define DEVICE_FILE "test.c"int main(int argc, char *argv[]){ int fd; int num; char buf[BUF_SIZE]; fd = open(DEVICE_FILE, O_RDWR); if(fd < 0) { printf("open scull error!\n"); return -1; } memset(buf, 0, BUF_SIZE); num = read(fd, buf, BUF_SIZE); buf[num] = 0; printf("%s\n", buf); lseek(fd, 2, SEEK_SET); /* write(fd, "aa", 2); */ num = read(fd, buf, BUF_SIZE); buf[num] = 0; printf("%s\n", buf); write(fd,"aa",2); lseek(fd, 2, SEEK_SET); num = read(fd, buf, BUF_SIZE); buf[num] = 0; printf("%s\n", buf); lseek(fd, 0, SEEK_SET); lseek(fd, 2, SEEK_CUR); num = read(fd, buf, BUF_SIZE); buf[num] = 0; printf("%s\n", buf); lseek(fd, 0, SEEK_SET); lseek(fd, 0, SEEK_END); memset(buf, 0, BUF_SIZE); printf("read return value is %d.\n", read(fd, buf, BUF_SIZE)); return 0;}
运行结果:

     

转载地址:http://kmfxi.baihongyu.com/

你可能感兴趣的文章
JAVA操作properties文件的代码实例
查看>>
java杂记
查看>>
RunTime.getRuntime().exec()
查看>>
Oracle 分组排序函数
查看>>
VMware Workstation 14中文破解版下载(附密钥)(笔记)
查看>>
日志框架学习
查看>>
日志框架学习2
查看>>
SVN-无法查看log,提示Want to go offline,时间显示1970问题,error主要是 url中 有一层的中文进行了2次encode
查看>>
NGINX
查看>>
Qt文件夹选择对话框
查看>>
DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
查看>>
第三方SDK:JPush SDK Eclipse
查看>>
第三方开源库:imageLoader的使用
查看>>
Android studio_迁移Eclipse项目到Android studio
查看>>
转载知乎-前端汇总资源
查看>>
JavaScript substr() 方法
查看>>
JavaScript slice() 方法
查看>>
JavaScript substring() 方法
查看>>
HTML 5 新的表单元素 datalist keygen output
查看>>
(转载)正确理解cookie和session机制原理
查看>>