【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; }