嵌入式学习第十九天——文件操作

1.标准输入输出库函数

#include<stdio.h>

标准输入输出库,位置在/usr/include/stdio.h

stdio.h-->stdio.c-->libc.so (so动态库文件/usr/lib)

FILE 结构定义的对象 FILE * 称之为流对象,也叫文件流指针

2.fopen函数

FILE *fopen(const char *path, const char *mode);

mode:这是一个指向字符串的指针,表示打开文件的模式。
"r":以只读方式打开文件。文件必须存在。
"r+":以读写方式打开文件。文件必须存在。
"w":以写入方式打开文件。如果文件不存在则创建文件,如果文件存在则清空文件内容。
"w+":以读写方式打开文件。如果文件不存在则创建文件,如果文件存在则清空文件内容。
"a":以追加方式打开文件。如果文件不存在则创建文件,如果文件存在则在文件末尾追加数据。
"a+":以读写方式打开文件。如果文件不存在则创建文件,如果文件存在则在文件末尾追加数据

返回值

成功时:返回一个指向 FILE 类型的指针,表示已打开的文件。

失败时:返回 NULL,并设置全局变量 error以指示错误原因

3.fputc函数

int fputc(int char, FILE *stream);

成功时返回写入的字符,失败时返回 EOF 并设置错误标志

4.fgetc函数

int fgetc(FILE *stream);

成功时返回读取的字符,若到达文件末尾或发生错误则返回 EOF

5.fputs函数

int fputs(const char *str, FILE *stream);

const char *str指的是要写入的字符串

FILE *stream要填需要写入的位置(地址)

成功时返回一个非负值,失败时返回 EOF

6.fgets函数

char *fgets(char *str, int n, FILE *stream);

char *str:用于存储读取字符串的字符数组指针。

int n:指定读取的最大字符数(包括终止符 \0)。

FILE stream:指向要读取的文件的文件指针。

成功时返回 str,若到达文件末尾或发生错误则返回 NULL

要注意的是fgets和fputs只能对文本文档进行操作

7.fread函数与fwrite函数

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);

ptr:指向存储读取或写入数据的内存块。

size:每个数据块的大小,以字节为单位。

count:要读取或写入的块的数量。

stream:指向要读取或写入的文件的文件指针。

返回成功读取的块数。如果返回值小于 count,则可能发生了错误或者到达了文件末尾

8.标准的输入输出  stdin stdout stdeer

stdin 是标准输入流,通常与键盘输入关联。程序从 stdin 读取数据,常用于接受用户输入。

stdout 是标准输出流,通常与显示器(终端)输出关联。程序通过 stdout 将结果输出到屏幕。

stderr 是标准错误流,通常用于输出错误信息,默认也与显示器(终端)关联。与 stdout 不同,stderr 通常不会被重定向到文件,因此适合输出错误信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值