文件 文件类型这个模块很少使用,今天就稍微的谈一谈
在计算机中,根据数据的组织形式,数据文件被称为文本文件或者二进制文件
文本文件 ASCII码组成 人们能够看懂二进制文件 01组成 人看不懂 打开&关闭文件
在C语言中,我们通过代码来打开一个文件,这也是C语言强大的表现之一
#includeint main() { FILE* pf = fopen("test.txt", "w"); //打开一个名为test.txt的文件 fclose(pf); //关闭文件 pf = NULL; return 0; }
fopen是一个打开文件的函数,有两个参数,返回值是一个指向文件类型的指针
test.txt下面我来解释一下,FILE* pf = fopen(“test.txt”, “w”)
test.txt是一个文件名和文件的类型,要是我们不给它指定文件的位置,计算机默认是在该代码所在的目录下,当然我们也可以指定目录
FILE* pf = fopen("D:\码云库\2022:test.txt", "w");
w
这里的w是以 写 文件的形式打开的,要是该目录下没有这个文件,计算机就会自动创建一个,这里有很多打开方式,我就不一一说了,大家看一下就可以了
当我们以 r 的形式打开,要是没有这个文件,会返回一个NULL指针
写文件注意,我们每一次以 w 的形式打开文件,文件里面的内容会自动清空
fgetc函数打开文件后,我们就可以进行往文件里面写入内容了,这会用到一些函数,不要着急,我会仔细的解释
fgetc函数从文件中读取一个字符,并且文件指针往后走一个,返回的是这个字符的ASCII码值,当读取到文件尾是返回EOF
我们先在test.txt中存储几个字符
#includefputc函数#include #include int main() { FILE* pf = fopen("test.txt", "r"); //以读的的形式打开一个名为test.txt的文件 if (pf == NULL) { printf("%sn", strerror(errno)); return 1; } //写文件 int ch = 0; while ((ch = fgetc(pf)) != EOF) { printf("%c", ch); } printf("n"); fclose(pf); //关闭文件 pf = NULL; return 0; }
这个往文件中写入的函数
#include欲知后事如何,请听下回分解 拷贝文件#include #include int main() { FILE* pf = fopen("test.txt", "w"); if (pf == NULL) { printf("%sn", strerror(errno)); return 1; } //写文件 for (int ch = 'a';ch <= 'z'; ch++) { fputc(ch, pf); } printf("n"); fclose(pf); //关闭文件 pf = NULL; return 0; }
#include#include #include //把test.c 的内容拷贝到 test.txt中 int main() { FILE* wpf = fopen("test.txt", "w"); FILE* rpf = fopen("test.c", "r"); if (rpf == NULL) { printf("%sn", strerror(errno)); fclose(wpf); wpf = NULL; return 1; } //拷贝 int ch = 0; while ((ch = fgetc(rpf)) != EOF) { fputc(ch, wpf); } //关闭文件 fclose(rpf); rpf = NULL; fclose(wpf); wpf = NULL; return 0; }



