预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共31页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux系统调用和文件I/OLinux系统调用与文件I/O用户程序接口(API)文件I/O介绍文件描述符文件描述符open函数open函数O_APPEND每次写时都加到文件的尾端。O_CREAT若此文件不存在则创建它。使用此选择项时需同时说明第三个参数mode用其说明该新文件的存取许可权位。O_EXCL如果同时指定了O_CREAT而文件已经存在则出错。这可测试一个文件是否存在如果不存在则创建此文件成为一个原子操作。O_TRUNC如果此文件存在而且为只读或只写成功打开则将其长度截短为0。O_NOCTTY如果pathname指的是终端设备则不将此设备分配作为此进程的控制终端。O_NONBLOCK如果pathname指的是一个FIFO、一个块特殊文件或一个字符特殊文件则此选择项为此文件的本次打开操作和后续的I/O操作设置非阻塞方式。O_SYNC使每次write都等到物理I/O操作完成。creat函数close函数lseek函数lseek函数read函数read函数write函数fcntl函数fcntl函数O_RDONLYioctl函数ioctl函数标准文件I/O操作参数说明path字符串包含欲打开的文件路径及文件名参数mode字符串则代表着流形态。Mode有下列几种形态字符串:r打开只读文件该文件必须存在r+打开可读写的文件该文件必须存在w打开只写文件若文件存在则文件长度清为0即该文件内容会消失。若文件不存在则建立该文件。w+打开可读写文件若文件存在则文件长度清为0即该文件内容会消失。若文件不存在则建立该文件。a以附加的方式打开只写文件。若文件不存在则建立存在则把数据添加在文件末尾a+以附加的方式打开读写文件同a。fclose函数#include<stdio.h>Intfclose(FILE*stream)功能:关闭一个流。注意:使用fclose函数就可以把缓冲区内最后剩下的数据输出到磁盘文件中并释放文件指针和有关的缓冲区。fputc函数#include<stdio.h>intfputc(intchFILE*stream);功能:送一个字符到一个流中。fgetc函数#include<stdio.h>intfgetc(FILE*stream);功能:fgetc()从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOFfprintf函数#include<stdio.h>intfprintf(FILE*streamconstchar*format…);功能:fprintf()函数根据指定的format(格式)(格式)发送信息(参数)到由stream(流)指定的文件。fprintf()只能和printf()一样工作。Fprintf()的返回值是输出的字符数发送错误时返回一个负值。fscanf函数#include<stdio.h>Intfscanf(FILE*streamchar*format…);功能:从一个流中执行格式化输入fread函数#include<stdio.h>Intfread(void*ptrintsizeintnitemsFILE*stream);功能:从一个流中读数据参数:用于接受数据的地址(指针)(ptr)单个元素的大小(size):单位是字节而不是位例如:读取一个整数值就是4元素个数(nitems)提供数据的文件指针(stream)返回值:成功读取的元素个数fwrite函数#include<stdio.h>Intfwrite(constvoid*buffersize_tsizesize_tcountFILE*stream);功能:向文件读取写入一个数据块参数:Buffer:是一个指针对fwrite来说是要输出数据的地址。Size:要写入内容的单字节数Count:要进行写入size字节的数据项的个数Stream:目标文件指针fflush函数#include<stdio.h>intfflush(FILE*_stream)功能:清除流缓冲区feof函数#include<stdio.h>Boolfeof(FILE*_stream)功能:检测流上的文件结束符