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

实 验 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值