实 验 5 Linux 文 件 操 作 之 带 缓 存 和 非 缓 冲 文 件 的 读 写

学生姓名:王祥真 学号: 6103114095 专业班级: 计科 143

实验类型: □ 验证 ? 综合 □ 设计 □ 创新 实验日期 : 2017.4.20 实验成绩:

一.实验目的

通过编写文件读写及上锁的程序,进一步熟悉 Linux 中文件 I/O 相关的应用开

发, 并且熟练掌握 open() 、read() 、write() 、fcntl() 等函数的使用。

二.实验内容

1. 用 write, read, open 等系统调用编写分别实现如下功能的程序(要求进行

必要的出错检查) :

(1) 创建一个文件 testfile.txt ,文件内容从键盘输入 ;

(2) 将 testfile.txt 的内容显示在屏幕上 , 并将 testfile.txt 的内容复制到一个

新的文件 file2.txt 中。

实验代码:

#include

#include

#include

#include

#include

#include

#include

#include

int main()

{

int fd, fdsrc,fddes,nbytes;

int newret ,n1,n2;

int flags=O_CREAT | O_TRUNC | O_WRONLY;

char src[50],des[30],buf[30];

char str1[60];

char str2[60];

strcat(str1,"cat ");

printf(" 请输入要创建的源文件名字 ");

scanf("%s",src);

fd=creat(src,S_IRUSR|S_IWUSR); // 创建源文件

n1=read(STDIN_FILENO,buf,80);

if(n1<0){

perror("read STDIN_FILENO");

exit(1);

}

fdsrc=open(src,flags,0644); // 以读写方式打开

if(fdsrc<0){

exit(1);

}

精选文库

write(fdsrc,buf,n1);// 写入

printf(" 输出刚创建源文件的内容 \n");

strcat(str1,src);//cat src;

newret=system(str1);// 执行命令

close(fdsrc);// 关闭指针

printf(" 请输入目标文件名 : ");

scanf("%s",des);

fd=creat(des,S_IRUSR|S_IWUSR);

fdsrc=open(src,O_RDONLY);

if(fdsrc<0){

exit(1);

}

fddes=open(des,flags,0744);

if(fddes<0){

exit(1);

}

while((nbytes=read(fdsrc,buf,20))>0){

int z=write(fddes,buf,nbytes);

if(z<0){

perror(" 写文件出错 ");

}

}

close(fdsrc);

close(fdde

linux 页缓存 读写,实验5Linux文件操作之带缓存和非缓冲文件的读写(10页)-原创力文档...相关推荐

  1. linux缓存写入文件,实验5Linux文件操作之带缓存和非缓冲文件的读写

    <实验5Linux文件操作之带缓存和非缓冲文件的读写>由会员分享,可在线阅读,更多相关<实验5Linux文件操作之带缓存和非缓冲文件的读写(15页珍藏版)>请在人人文库网上搜索 ...

  2. linux缓存文件和非缓存文件格式,实验5 Linux文件操作之带缓存和非缓冲文件的读写...

    1 实验5Linux 文件操作之带缓存和非缓冲文件的读写 学生姓名:王祥真学号:6103114095专业班级:计科143 实验类型:□ 验证▥综合 □ 设计 □ 创新实验日期:2017.4.20实验成 ...

  3. linux实验手册汇总,Linux实验手册汇总(226页)-原创力文档

    精品文档 Linux 实验手册 补充实验步骤很详细 Linux 重于练习和动手 一 Linux 安装 注意磁盘分区 二: 用户简单操作: 1. 添加用户 u1 和 u2,并分别设置口令 #userad ...

  4. linux编译错误 程序中有游离的,操作系统实验报告 附思考题(24页)-原创力文档...

    课程设计(综合实验)报告 ( 2015 -- 2016 年度第 1 学期) 名 称: 操作系统综合实验 题 目: oslab 综合实验 院 系: 计算机系 班 级: 学 号: 学生姓名: 指导教师: ...

  5. 麒麟Linux强制修改只读文件,麒麟Linux系统文件权限管理和归属(12页)-原创力文档...

    中标麒麟Linux服务器操作系统培训系列 麒麟Linux系统文件权限管理和归属 技术创新,变革未来 本章目标 •了解中标麒麟Linux服务器操作系统文件类型.权 限的概念 •掌握文件权限和属主的设置方 ...

  6. 计算机一级实验素材题目,计算机一级EXCEL操作题整理素材(12页)-原创力文档...

    素材摘录,文档可编辑分享 PAGE 页码页码/NUMPAGES 总页数总页数 单元格合并 首先选中你要合并的单元格,然后找到EXCEL上的开始分区里的这种图标或者是含有"合并"两字 ...

  7. linux 轻量化图形界面,YOXIOS 入门教程--基于Linux的 轻量化GUI图形系统和硬件平台(41页)-原创力文档...

    YOXIOS --基于 Linux 的轻量化 GUI图形系统和硬件平台 YOXIOS 入门教程 基于 Linux 的 轻量化 GUI图形系统和硬件平台 (V1.0 2020-05) 提示:阅读此文档需 ...

  8. 河北2018年职称计算机开始,2018河北职称计算机考试操作题答案(8页)-原创力文档...

    PAGE PAGE 1 31.说明:以下文件名及文件夹名均不区分大小写,而且所有字母和数字都是英文半角字符 1.?在ComputerA文件夹下建立如下的文件夹结构:(4分) ????ComputerA ...

  9. linux备份和还原设置密码,AnyBackup Linux操作系统备份与恢复最佳实践手册(33页)-原创力文档...

    / / / Linux 操作系统定时备份恢复最佳实践 Linux 操作系统定时备份恢复最佳实践 -- 爱数备份容灾家族 目录 目 彔III 第一章 概述1 目标读者1 本文档适用范围1 Linux 系 ...

  10. 麒麟Linux关闭telnet,银河麒麟系统管理员使用手册(30页)-原创力文档

    银河麒麟系统管理员使用手册 目 录 一. 管理员使用 3 1. MATE 终端 3 1.1 打开MATE 终端 3 1.2 终端切换root 管理员 3 2. 网络设置 4 3. 软件安装 5 4. ...

最新文章

  1. java中的队列详解
  2. 参数迁移表达的第三种形态相互作用
  3. 6个变态的C语言Hello World程序
  4. java虚拟机内存告警_Java虚拟机总结
  5. securecrt自动发送空格防止session卡死
  6. c++类对象的创建方式
  7. 类与对象 格式小结 java 1202
  8. Win7登录时出现Group policy client 未启动无法登陆问题的解决方法
  9. redis3.0 java spring_Redis-3.0.6 集群部署集成SpringJava工程-----环境搭建
  10. android实现字体滚动,Android实现字幕滚动的方法
  11. 关于四元数的个人理解
  12. 【数据结构笔记13】C实现:判别是否是同一颗二叉搜索树(BST)
  13. 学习python3(一)
  14. vsftpd+TLS+MySQL
  15. 【WIN10】清除图标缓存
  16. CDH大数据平台搭建
  17. springboot整合aceadmin
  18. 软件测试用例优先级,软件测试用例的优先级划分方法
  19. FireMonkey动画进度条实现
  20. li指令 汇编_51单片机(九)汇编指令

热门文章

  1. ARM搭建MC服务器教程,适用于树莓派
  2. centos开放防火墙
  3. db2 java存储过程,db2存储过程 - 辜圆圆的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. ping 与 traceroute 的工作原理分析
  5. MyBatis和Hibernate的优缺点对比
  6. linux管道命令6,重定向、管道——Linux基本命令(6)
  7. android.database.sqlite.SQLiteException: no such column:xxxxx
  8. android开发apk在qq发送无法正常安装的问题
  9. windwos利用命令行结束进程, tasklist和taskkill命令
  10. 如何批量给文件名加序号?