1)文件:存储在外部介质(磁盘)上的相关数据的集合。
2)文件的分类:
a. 从用户的角度:特殊文件(标准输入输出文件)和普通文件(磁盘文件)。
b. 操作系统:每一个与主机相连的输入、输出设备看作是一个文件。 输入文件:终端键盘; 输出文件:显示屏和打印机
c. 数组的组织形式:ASCII码文件(文本文件)和二进制文件
ASCII文件:每一个字节存放一个ASCII代码。
二进制文件:把数据按其在内存中的存储形式原样输出到磁盘上存放。
3)举例:
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
FILE *fp=NULL;
char ch,filename[20];
printf("input filename:");
scanf("%s",filename);
if(!(fp=fopen(filename,"wt+")))
{
printf("can not open the file.\n");
exit(0);
}
printf("input sentenses:");
ch=getchar();
ch=getchar();
while(ch!=EOF)
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
printf("output as below:\n");
FILE *pf=fopen(filename,"r");
char gch=fgetc(pf);
while(gch!=EOF)
{
printf("%c",gch);
gch=fgetc(pf);
}
fclose(pf);
system("pause");
return 0;
}
fopen(): 打开文件,原型是:FILE *fopen(const char *filename,const char *mode);参数filename指向要打开的文件名,mode表示打开状态的字符串
fgetc(): 从流中读一个字符,原型是int fgetc(FILE *stream); 成功返回这个字符,失败返回EOF。
fclose(): 关闭用fopen()打开的文件,原型是:int fclose(FILE *fp); 关闭成功,返回0,失败返回EOF。
EOF: 是ctrl+z.
输出结果显示: