标准io的概念
IO input output
I: 键盘是标准输入设备 ====》默认输入就是指键盘
O: 显示器是标准输出设备 ==》默认输出就是指显示器
Linux操作系统当中IO都是对文件的操作
man
man man ==>所有man的帮助
man xxx == man 1 xxx ===>查看当前xxx命令
man 2 xxx ===>查看xxx对应的系统调用函数
man 3 xxx ===》查看xxx对应的标准库函数
fopen
fopen 是 C 语言标准库中用于打开文件的函数。它定义在 stdio.h 头文件中,并返回一个指向 FILE 结构的指针,该结构包含了有关打开文件的信息。fopen 函数的原型如下:
FILE *fopen(const char *filename, const char *mode);
这里的 filename 参数是一个指向字符串的指针,指定了要打开的文件的名称。mode 参数是另一个字符串,指定了文件的打开模式,可以是以下几种之一:
1."r":以只读方式打开现有文件。
2."w":以只写方式打开文件,如果文件已存在则清空其内容;如果文件不存在则创建一个新文件。
3."a":以追加方式打开文件,如果文件不存在则创建一个新文件;如果文件已存在则在文件末尾追加内容。
4."r+":以读写方式打开文件,文件必须存在。
5."w+":以读写方式打开文件,如果文件不存在则创建一个新文件;如果文件已存在则清空其内容。
6."a+":以读写方式打开文件,如果文件不存在则创建一个新文件;如果文件已存在则在文件末尾追加内容。
fgetc 函数
fgetc 函数用于从指定的文件中读取单个字符。它的原型定义在 stdio.h 头文件中,如下所示:
int fgetc(FILE *stream);
这里的 stream 是一个指向 FILE 结构的指针,指向已打开的文件流。fgetc 函数在读取成功时返回读取到的字符(作为 int 类型),以便能够表示文件末尾的特殊值 EOF。如果到达文件末尾或发生读取错误,fgetc 返回 EOF。
fputc 函数
fputc 函数用于向指定的文件中写入单个字符。它的原型同样定义在 stdio.h 头文件中,如下所示:
int fputc(int char, FILE *stream);
char 参数是要写入文件的字符(作为 int 类型),stream 是一个指向 FILE 结构的指针,指向目标文件流。fputc 在写入成功时返回写入的字符,如果发生写入错误,则返回 EOF。
fgets 函数
fgets 函数用于从指定的文件或其他输入流中读取字符串。它考虑到了字符串的终止字符 \0,因此可以安全地读取字符串而不会溢出缓冲区。fgets 函数的原型如下:
char *fgets(char *str, int n, FILE *stream);
1.str 是一个指向字符数组的指针,用于存放读取到的字符串。
2.n 是要读取的最大字符数,包括终止字符 \0。
3.stream 是一个指向 FILE 对象的指针,指定了输入流。
如果在读取 n-1 个字符之前遇到文件结束或读取错误,fgets 会停止读取并返回 NULL。如果成功读取,fgets 会在字符串末尾添加 \0,并返回 str。
fputs 函数
fputs 函数用于向指定的文件或其他输出流中写入字符串。与 printf 或 puts 不同,fputs 不会在字符串末尾添加换行符,并且它接受一个包含终止字符 \0 的字符串作为输入。fputs 函数的原型如下:
int fputs(const char *str, FILE *stream);
1.str 是一个指向包含要写入字符串的指针。
2.stream 是一个指向 FILE 对象的指针,指定了输出流。
如果成功写入,fputs 返回非负数,表示写入的字符数;如果发生错误,返回 EOF。
fread 函数
fread 函数用于从文件或其他输入流中读取数据块。它是以二进制形式读取数据,适用于读取结构体或其他固定大小数据类型的集合。fread 的原型如下:
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
1.ptr 是一个指向缓冲区的指针,用于存放读取到的数据。
2.size 是每个数据项的大小(以字节为单位)。
3.nmemb 是要读取的数据项的数量。
4.stream 是一个指向 FILE 对象的指针,指定了输入流。
fread 函数返回成功读取的数据项数量,如果达到文件末尾或发生读取错误,返回的数量可能小于 nmemb。
fwrite 函数
fwrite 函数用于向文件或其他输出流中写入数据块。它同样以二进制形式写入数据,适用于写入结构体或其他固定大小数据类型的集合。fwrite 的原型如下:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
1.ptr 是一个指向要写入数据的缓冲区的指针。
2.size 是每个数据项的大小(以字节为单位)。
3.nmemb 是要写入的数据项的数量。
4.stream 是一个指向 FILE 对象的指针,指定了输出流。
fwrite 函数返回成功写入的数据项数量,如果发生写入错误或达到文件末尾,返回值为0。