一、为什么使用文件
当我们使用编程语言创建一些内容的时候,就比如我们用printf、scanf输出和输入的东西都是在内存上的,无法保存下来,而我们使用文件就可以将我们创建的一些东西保存下来,保存在我们的硬盘上。这样我们就可以重复使用,还可以更改。讲文件的读写之前我们先来介绍几个函数的使用方法
1.fopen
这样我们就基本了解了fopen函数的结构。
文件打开的方式有以下方式:
2.fclose
fclose没什么好说的,就是把文件关闭,因为我们在程序里面,不能无限打开文件,所以我们使用完打开的文件之后,要记得关闭文件,并记得把文件的指针置为空指针。
它的返回值是整型,如果返回0,就是文件正常关闭了。
二、文件的读写(字符)
1.输出fputc
fputc包含putchar的功能这个就是我们fputc的基本结构
此外,fputc不止适用于对文件的操作,还可以对我们的标准输出流也就是屏幕进行操作。
int main()
{
FILE* ps = fopen("C:\\Users\\zzy\\source\\repos\\Project16\\test.txt", "w");
if (ps == NULL)
{
printf("%s\n", strerror(errno));
return 1;//失败返回
}
//打开成功,写文件
fputc('a', ps);
//关文件
fclose(ps);
ps = NULL;
return 0;
}
这个就是我们的效果图:
这样子也可以:
下面我们来对屏幕(标准输出流)进行操作:
注意:fputc适用于所有输出流。
2.输入fgetc
fgetc包含getchar的功能这个就是fgetc的基本格式:
这是我们目前文件里的内容:
那我们用循环读取
我们还可以用fgetc在键盘上(标准输入流)读取:
int main()
{
int ch = fgetc(stdin);
printf("%c\n", ch);
return 0;
}
三、文件的读写(文本行)
1.输出fputs
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<errno.h>
#include<string.h>
int main()
{
FILE*ps = fopen("C:\\Users\\zzy\\source\\repos\\Project16\\test.txt", "w");
if (ps == NULL)
{
printf("%s\n", strerror(errno));
return 1;
}
fputs("god,you are so beautiful!", ps);
fclose(ps);
ps = NULL;
}
2.输入fgets
除此之外,我们还可以从标准输入流来接收
四、文件的读写(格式化)
1.输出fprintf
我们记得printf是将我们输入的东西打印在屏幕上,那我们这个加一个文件的话,就是把内容打印在文件里面。
2.输入fscanf
从键盘上读取
五、文件的读写(字符串)
1.输出sprintf
sprintf可以将一些结构化字符转换成字符串。
使用展示:
2输入sscanf
六、文件的读写(二进制)
1.输入fwrite