200521 L40 2023-04-04 07:35:44 Linux下文件IO基础
172 0

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

Linux下文件IO基础

一、课程说明

本节课程介绍 Linux 系统的文件 IO,除了介绍其基本概念,最主要的是讲解其基本 APIs,包括 open、close、read、write 等等。

二、 环境介绍

本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: 1.命令行终端: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令

三、实验操作

1.用open创建一个文件: open.c

图片描述

图片描述

如果当前目录下以存在test.txt,屏幕上就会打印“open error”;不存在则创建该文件,并打印“open success

2. read

需要包含的头文件:<unistd.h>

功能:从打开的文件中读取数据。 返回值:实际读到的字节数;已读到文件尾返回0,出错的话返回-1,ssize_t是系统头文件中用typedef定义的数据类型相当于signed int 参数: fd:要读取的文件的描述符 buf:得到的数据在内存中的位置的首地址 count:期望本次能读取到的最大字节数。size_t是系统头文件中用typedef定义的数据类型,相当于unsigned int

3. write

需要包含的头文件:<unistd.h> 函数原型:

功能:向打开的文件写数据 返回值:写入成功返回实际写入的字节数,出错返回-1

图片描述

  1. close

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

当一个进程终止的时候,它所有的打开文件都是由内核自动关闭。很多程序都使用这一功能而不显式地调用close关闭一个已打开的文件。 但是,作为一名优秀的程序员,应该显式的调用close来关闭已不再使用的文件。

  1. lseek

每个打开的文件都有一个“当前文件偏移量”,是一个非负整数,用以度量从文件开始处计算的字节数。通常,读写操作都是从当前文件偏移量处开始,并使偏移量增加所读或写的字节数。默认情况下,你打开一个文件时(open),除非指定O_APPEND参数,不然位移量被设为0。

需要包含的头文件:<sys/types.h>, <unistd.h>

图片描述

总结

本次实验介绍了Linux 系统的文件 I/O。通过介绍open、close、read和write函数,使我对文件的操作更加熟练,让我感到受益匪浅。

最新评论
暂无评论~