- 在使用文件前必须打开文件;用函数 fopen() 打开文件
- 文件的打开方式:
字符 | 含义 |
---|---|
“r” | 以只读方式打开文本文件,前提是要求该文件是已存在的 |
“w” | 以只写方式创建并打开文本文件,已存在的文件将被覆盖 |
“a” | 以只写方式打开文本文件,位置指针移到文件末尾,向文件尾部添加数据,原文件数据保留。使用前提要求该文件存在 |
"+“ | 与上面的字符串组合,表示以读写方式打开文本文件。即可向文件中写入数据,也可以从文件中读出数据 |
“b” | 与上面的字符串组合,表示打开二进制文件 |
- 在文件使用结束后必须关闭文件,函数fclose()用来关闭fopen()打开的文件
- 函数fscanf()用于按指定格式从文件中读取数据
例如:
for(i=0;i<N;i++)
{
fscanf(fp,"%d",&a[i]);
/*第1个参数为文件指针,
第2个位格式控制参数,
第3个为地址参数列表
函数scanf()在使用时为scanf("%d",&a[i]);*/
}
函数fprintf()用于按指定格式向文件写数据 ,其中
第1个参数为文件指针,
第2个位格式控制参数,
第3个为输出参数列表。
- 将数据写入文本文件
#include<stdio.h>
#include<stdlib.h> //因为下面用到exit()函数,所以这里需要stdlib.h头文件
void writetofile() //将数据写入文件的函数
{
FILE *fp;
if((fp=fopen("D:\\新建文件夹\\demon.txt","w"))==NULL)
{
printf("Failure to open.");
exit(0);
}
fprintf(fp,"12 9 28 23 8 10 22 79 99 30");
fclose(fp);
}
- 在主函数里调用函数,将数据从文件中读取进行排序
#include<stdio.h>
#include<stdlib.h>
#define N 10
void main()
{
FILE *fp;
int a[N],i;
writetofile();
if((fp=fopen("D:\\新建文件夹\\demon.txt","r"