“嵌入式Linux基础实验”实验报告

Linux下文件IO基础
  1. Linux系统调用 Linux系统调用(system call)是指操作系统提供给用户程序的一组“特殊接口”,用户程序可以通过这组“特殊”接口来获得操作系统提供的特殊服务。
  2. 文件描述符 文件描述符是一个非负整数。当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描述符。当写一个文件时,用open或create返回的文件描述符标识该文件,将其作为参数传送给read或write。 在POSIX应用程序中,整数0、1、2应被代换成符号常数:

STDIN_FILENO(标准输入,默认是键盘)

STDOUT_FILENO(标准输出,默认是屏幕)

STDERR_FILENO(标准错误输出,默认是屏幕)

3.open 需要包含的头文件:<sys/types.h>, <sys/stat.h>, <fcntl.h> 功能:打开文件 返回值:成功则返回文件描述符,出错返回-1 参数 oflag 参数由O_RDONLY(只读打开)、O_WRONLY(只写打开)、O_RDWR(读写打开)中的一个于下列一个或多个常数 O_APPEND: 追加到文件尾 O_CREAT: 若文件不存在则创建它。使用此选择项时,需同时说明第三个参数mode,用其说明新文件的访问权限 。 O_EXCL: 如果同时指定O_CREAT,而该文件又是存在的,报错;也可以测试一个文件是否存在,不存在则创建。 O_TRUNC: 如果次文件存在,而且为读写或只写成功打开,则将其长度截短为0 。 O_SYNC: 使每次write都等到物理I\O操作完成。 用open创建一个文件: open.c 图片描述

图片描述

  1. read 需要包含的头文件:<unistd.h> 功能:从打开的文件中读取数据。 返回值:实际读到的字节数;已读到文件尾返回0,出错的话返回-1。
  2. write 需要包含的头文件:<unistd.h> 功能:向打开的文件写数据 返回值:写入成功返回实际写入的字节数,出错返回-1。 图片描述

图片描述

6.close 需要包含的头文件:<unistd.h> int close(int filedes) 功能:关闭一个打开的文件 参数:需要关闭文件的文件描述符。

7.lseek 需要包含的头文件:<sys/types.h>, <unistd.h> 功能:设置文件内容读写位置 返回值:成功返回新的文件位移,出错返回-1;同样off_t是系统头文件定义的数据类型,相当于signed int 参数 a.whence是SEEK_SET, 那么该文件的位移量设置为据文件开始处offset个字节

b.whence是SEEK_CUR, 那么该文件的位移量设置为当前值加offset。offset可为正或负

c.whence是SEEK_END, 那么该文件的位移量设置为文件长度加offset。offset可为正或负. 图片描述 图片描述

最新评论
暂无评论~