文件使用方式 | 含义 | 如果指定的文件不存在 |
---|---|---|
“r”(只读) | 为了输入数据,打开一个已存在的文本文件 | 出错 |
“w”(只写) | 为了输出数据,打开一个文本文件 | 建立新文件 |
“a”(追加) | 向文本文件尾部添加数据 | 出错 |
“rb”(只读) | 为了输入数据,打开一个二进制文件 | 出错 |
“wb”(只写) | 为了输出数据,打开一个二进制文件 | 建立新文件 |
“ab”(追加) | 向二进制文件尾添加数据 | 出错 |
文件路径名
fopen("D:\\CC\\data.dat","r");
fopen("D:/CC/data.dat","r");
常用的定义文件指针的方法
FILE *fp;
常用打开和关闭文件的方法
if((fp=fopen("data.txt","r"))==NULL){
printf("无法打开此文件\n");
exit(0);
}
fclose(fp);
判断文件是否读到尾
while(!feof(fp)){
}
读写一个字符
fgetc(fp);
fputc(ch,fp);
读写一个字符串
fgets(str,n,fp);//读入n-1个字符,并在结尾加上'\0',遇到'\n'和EOF也算结束
fputs(str,fp);//输出到文件
格式化读写(可读写结构体)
fprintf(fp,"%d %s %lf\n",a,s1,b);
fscanf(fp,"%d %s %lf",&a,s1,&b);
二进制方式读写(可读写结构体)
fread(address,size,count,fp);//count,读写的数据项
fwrite(address,size,count,fp);
for(int i=0;i<40;i++)
fread(&s[i],sizeof(struct node),1,fp);
for(int i=0;i<40;i++)
fwrite(&s[i],sizeof(struct node),1,fp);
输入输出流读写
freopen("input.txt","r",stdin);
//scanf
fclose(stdin);
freopen("output.txt","w",stdout);
//print
fclose(stdout);