【C语言】文件操作(续)
目录
复习:
一·⽂件的顺序读写
例子:
前言:
在上篇文章中介绍了文件的类型,文件指针,流,操作的函数。
在本篇文章继续为大家带来文件细节分享,如 顺序读写等等。
复习:
fopen是C语言中用于打开文件的函数。
FILE *fopen(const char *filename, const char *mode);
常用打开模式:
| 模式 | 描述 |
|---|---|
| "r" | 只读方式打开文本文件 |
| "w" | 只写方式创建/覆盖文本文件 |
| "a" | 追加方式打开/创建文本文件 |
| "rb" | 只读方式打开二进制文件 |
| "wb" | 只写方式创建/覆盖二进制文件 |
| "ab" | 追加方式打开/创建二进制文件 |
| "r+" | 读写方式打开文本文件 |
| "w+" | 读写方式创建/覆盖文本文件 |
| "a+" | 读写方式打开/创建文本文件 |
fclose是C语言中用于关闭文件的函数。
int fclose(FILE *stream);
例子:
#include <stdio.h>
int main()
{FILE* pf=fopen("Project179", "r");if (pf = NULL){perror("shibai ");return 1;}else{printf("打开陈工");}return 0;
}
一·⽂件的顺序读写
文件的顺序读写是指按照文件中数据的顺序逐个读取或写入数据。
顺序读写函数介绍:
| 函数名 | 功能 | 适⽤于 |
|---|---|---|
| fgetc | 字符输⼊函数 | 所有输⼊流 |
| fputc | 字符输出函数 | 所有输出流 |
| fgets | ⽂本⾏输⼊函数 | 所有输⼊流 |
| fputs | ⽂本⾏输出函数 | 所有输出流 |
| fscanf | 格式化输⼊函数 | 所有输⼊流 |
| fprintf | 格式化输出函数 | 所有输出流 |
| fread | ⼆进制输⼊ | ⽂件 |
| fwrite | ⼆进制输出 | ⽂件 |
如何更好的记忆呢?
以fgetc为例子:
f指file 个体表示获取 c指的是字符 character 所以fgetc是从文件读取一个字符
上⾯说的适⽤于所有输⼊流⼀般指适⽤于标准输⼊流和其他输⼊流(如⽂件输⼊流);
所有输出流⼀般指适⽤于标准输出流和其他输出流(如⽂件输出流)。

这里可以看出fputc如何使用的了,前一个参数是要输入的字符,后一个参数是地址 。
大家可以去C语言官网去搜索对应的函数。
如何使用:
#include <stdio.h>
int main()
{FILE* pf = fopen("dest.c", "w");if (pf == NULL){perror("fopen");return 1;}fputc('a',pf);fclose(pf);pf = NULL;return 0; }



改善:
这里还可以使用for循环的方法,输入字符,如下:
#include <stdio.h>
int main()
{FILE* pf = fopen("dest.c1", "w");if (pf == NULL){perror("fopen");return 1;}//fputc('a',pf);for (int i = 'a';i <= 'z';i++){fputc(i, pf);}fclose(pf);pf = NULL;return 0; }

