linux函数代码操练---文件操作-----05fopen()函数

基础知识

打开一个文件并且返回一个文件指针。
函数原型为
FILE* fopen(const char* filename,const char mode

实验内容

①用fopen()打开一个文件
②探究不同的打开方式
③返回值的探究

用fopen()打开一个文件

程序截图
linux函数代码操练---文件操作-----05fopen()函数
运行结果
linux函数代码操练---文件操作-----05fopen()函数
说明
程序以可写的方式打开文件test.txt,并返回一个FILE指针,该指针不为空。打开文件必须做这一步的检查

探究不同的打开方式

①w

程序截图
linux函数代码操练---文件操作-----05fopen()函数
运行结果
linux函数代码操练---文件操作-----05fopen()函数
说明
打开的文件先被清空,可写但不可以读。文件不存在则新建

②w+
程序截图
linux函数代码操练---文件操作-----05fopen()函数
运行结果
linux函数代码操练---文件操作-----05fopen()函数
说明
用w+方式打开的文件既可以读也可以写。文件打开后内容被清空,如果文件不存在则会新建一个空文件
③r
程序截图
linux函数代码操练---文件操作-----05fopen()函数
运行结果
linux函数代码操练---文件操作-----05fopen()函数
说明
用r打开的文件只可以读不可以写,如果文件不存在,则打开失败!
④r+、
程序截图
linux函数代码操练---文件操作-----05fopen()函数
运行结果
linux函数代码操练---文件操作-----05fopen()函数
说明
用r+打开的文件可以也可以写,起始位置在文件开头,与w+的区别在于文件不存在则打开失败,文件内容不会被清空
⑤a
程序截图
linux函数代码操练---文件操作-----05fopen()函数
运行截图
linux函数代码操练---文件操作-----05fopen()函数
说明
用a打开的文件可写但不可以读,写入位置在文件末尾,文件不存在时会自动创建文件
⑥a+
程序截图
linux函数代码操练---文件操作-----05fopen()函数
运行结果
linux函数代码操练---文件操作-----05fopen()函数
说明
用a+打开文件可读可写,指针位置在文件尾,如果文件不存在会自动创建。

返回值的探究

fopen函数调用失败时返回一个NULL指针
fopen函数调用成功时返回一个FILE指针

问题思考

文件说明情况下会打开失败
①受到打开方式的影响如以r打开文件但是文件不存在时。
②程序对文件没有相应的权限
③文件已经被其他程序占用