1.文件指针定义 :FILE *指针变量名;如:FILE * p
2.文件的打开函数:fopen()函数;如:FLIE *P; p=fopen(文件名,文件使用方式)
文件使用:
使用方式 | 处理方式 | 含义 | 指定文件不存在 | 指定文件存在 |
---|---|---|---|---|
“r” | 只读 | 打开文本文件 | 出错 | 正常打开 |
“w” | 只写 | 打开文本文件 | 建新文件 | 覆盖 |
“a” | 追加 | 打开文本文件 | 建新文件 | 打开追加 |
“rb” | 只读 | 打开二进制文件 | 出错 | 正常打开 |
“wb” | 只写 | 打开二进制文件 | 建新文件 | 覆盖 |
“ab” | 追加 | 打开二进制文件 | 建新文件 | 打开追加 |
打开文件常用:
if((p=fopen("file","r"))=NULL)
{
printf("不能打开该文件\n");
exit(0);
}
3.文件的关闭 fclose() 函数;
fclose(文件指针变量)
4.读写一个字符
(1):将一个字符输出到文件:fputc(ch,p);
字符变量ch的值输出到指chg针变量P指向的文件中;
(2):从文件中读入一个字符:ch=fgetc§;
从指针变量p指向的文件中读取一个字符赋给字符变量ch。
返回值: ch。如果读入EOF,则返回EOF。
5.读写一个字符串
(1):将一个字符串输出到文件 fputs(str,p)
把字符数组str中的字符串输出到指针变量p指向的文件中,“\0”不输出;
(2):从文件中读入一个字符串 fgets(str,n,p)
从指针变量p指向的文件中读入n-1个字符,送到字符数组str中
典例:两数组内容交换
#includ e<stdio.h>
#include <stdlib.l>
int main()
{
FILE *in,*out;
char ch,infile[10],outfile[10];
scanf("%s",infile);
getchar();
scnaf("%s",outfile);
in=fopen(infile,"rb");
out=fopen("outfile,"w");
ch=fgetc(in);
while(!feof(in))
{
fputc(ch,out);
ch=fgetc(in);
}
fclose(in);
fclose(out);
return 0;
}