网站建设公司推广方式,专业制作网站的基本步骤,定制网站开发哪个好,wordpress themes目录 1.概述
2.open的介绍
3.write 的介绍
4.read
5.close的介绍
6.文件描述符 1.概述
C语言操作文件的几个库函数:fopen,fread,fwrite,fclose; 系统调用:open,read,write,close; 系统调用方法实现在内核中;(陷入内核,切换到内核) 2.open的介绍
open重载:两个参数用于打…目录 1.概述
2.open的介绍
3.write 的介绍
4.read
5.close的介绍
6.文件描述符 1.概述
C语言操作文件的几个库函数:fopen,fread,fwrite,fclose; 系统调用:open,read,write,close; 系统调用方法实现在内核中;(陷入内核,切换到内核) 2.open的介绍
open重载:两个参数用于打开一个已经存在的文件;三个参数的用于新建一个文件,并设置访问权限;
pathname:文件和路径和名称;
flags:文件的打开方式;
mode:文件的权限,如0600; 了解特殊权限:linux系统中文件的三种特殊权限_rwsr是什么权限-CSDN博客关于linux权限s权限和t权限详解_目录权限t_D_R_L_T的博客-CSDN博客 open的返回值为int,称为文件描述符;
flags的打开标志,如:
O_WRONLY:只写打开;
O_RDONLY:只读打开;
O_RDWR:读写方式打开;
O_CREAT:文件不存在则创建;
O_APPEND:文件末尾追加;
O_TRUNC:清空文件,重新写入; open的返回值是int,称之为文件描述符;每打开一个文件,我们就会得到一个文件描述符,这个文件描述符是一个整型,通过文件描述符就可以对文件进行读写这样的操作.open失败返回-1,成功返回一个大于等于0的值; 0,1,2是默认打开的;0:标准输入 1:标准输出 2:标准错误输出 3.write 的介绍
fd:对应打开的文件描述符
buf:写入的文件内容;
count:要写入多少个字节;
返回值:ssize_t:实际写入了多少个字节;
4.read
fd:对应打开的文件描述符;
buf:把文件内容读取到一块空间buf中;
count:期望要读取的字节数; 返回值:
ssize_t:实际读取了多少个字节;
5.close的介绍
关闭文件描述符;
6.文件描述符
文件打开以后,内核给文件的一个编号;(0的整数) 0:标准输入;
1:标准输出;
2:标准错误输出;
#include stdio.h
#include stdlib.h
#include unistd.h
int main()
{write(1,hello,5);exit(0);
}
//往屏幕(标准输出)写入hello 5个字节
#include stdio.h
#include stdlib.h
#include unistd.h
#include fcntl.h
#include assert.h/*int main(){int fdopen(file.txt,O_WRONLY|O_CREAT,0600);//创建新的文件需定义其权限3个参数assert(fd!-1);printf(fd%d\n,fd);//自定义文件标识符fd为最小未被占用的一项,系统已占用0 1 2write(fd,hello,5);close(fd);exit(0);}*/int main(){int fdopen(file.txt,O_RDONLY);//文件已经存在不用定义权限assert(fd!-1);char buff[128]{0};int nread(fd,buff,127);printf(n%d,buff%s\n,n,buff);close(fd);exit(0);}利用读写复制文件 #include stdio.h#include stdlib.h#include unistd.h#include fcntl.h#include assert.hint main()
{int fropen(file.txt,O_RDONLY);int fwopen(file2.txt,O_RDWR|O_CREAT,0600);assert(fr!-1||fw!-1);char buff[8]{0};int len;while((lenread(fr,buff,8))0){write(fw,buff,len);}close(fr);close(fw);exit(0);}