在程序员和磁盘之间有一个文件操作系统(适配层)
在操作系统下只有两种文件:文本文件(ASCLL文件)、二进制文件(内存存储)。
文件的三板斧:打开、读和写、关闭。
打开函数 fopen
fopen()函数打开由fname(文件名)指定的文件, 并返回一个关联该文件的流.如果发生错误, fopen()返回NULL.
mode(方式)是用于决定文件的用途(例如 用于输入,输出,等等)
FILE *fp1 = fopen("test1.txt", "w");
FILE *fp2 = fopen("txst2.txt", "r");
FILE *fp3 = fopen("tsest3.txt", "a");
return 0;
在运行上述代码过程中,fp1,fp3有值,fp2为空值。
w和a在打开文件过程中,如果文件不存在,则创建文件;如果文件存在,W会把文件内容清空重新写入,a是打开文件,不清除文件内容,在文件末尾进行添加。
r,如果文件存在则打开文件,如果文件不存在则打开失败。
其他文件函数定义可在函数库内自行查看
下面是一个简单的打开写入关闭文件的操作
int main()
{
int ar[] = { 12, 23, 34, 45, 56, 67, 78, 89, 90, 100 };
int n = sizeof(ar) / sizeof(ar[0]);
FILE *fp = fopen("test1.txt", "w");
if (NULL == fp)
{
printf("open file error\n");
return -1;
}
for (int i = 0; i < n; ++i)
{
printf("%d", ar[i]);//屏幕输出
fprintf(fp, "%d", ar[i]);//文件输出
fprintf(stdout, "%d", ar[i]);//把屏幕看作文件 printf的底层调用函数
}
fclose(fp);
fp = NULL;
}
在程序末尾,一定要将指向文件的指针置为空