程序开头需要创建一个指向文件类型的指针 FILE *fp
fopen 函数:
fp=fopen(filename,"w") 当fopen返回值为NULL时,表明打开文件失败,或者是未能成功创建文件。因此可使用该函数的返回值来判断是否成功创建文件。
一般的,处理文本文件使用ASSIC,而其他的视频什么的文件都是用二进制。
fclose:
fclose(文件指针)-----fclose(fp)
当文件顺利关闭时,fclose返回值为0,否则,返回值为EOF。
fputc函数:
作用:把一个字符写到磁盘文件上去。
fputc(字符,文件指针)-------fputc(ch,fp).
返回值:输出失败(EOF(-1))
fgetc函数:
从制定的文件中读取一个字符,该文件必须是以读或读写的方式打开。
调用方式:ch=fgetc(fp),
for exmple
#include <stdio.h>
#include <stdlib.h>//此头文件包含NULL
#include <string.h>//此头文件包含字符串处理等函数,strcpy
void main()
{
FILE *fp;
char ch,fn[50];
strcpy(fn,"C:\\Users\\Administrator\\Desktop\\tesst.txt");//路径的分割必须用双斜线,避免转义字符。
printf("文件的保存路径为:%s",fn);
if ((fp=fopen(fn,"w"))==0)
{
printf("Can't open file\n");
exit(0);//exit(0)是正常退出,,-1是异常退出
}
ch=getchar();
while(ch!='#')//遇到#表明输出接受
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
}
fwrite函数和fread函数:
作用和fgetc和fputc很相似,fgetc和fgetc函数是一个字符一个字符的读写,而fwrite和fread可以一次性读取一组数据。
调用形式:
fread(buffer,size,count,fp)
fwrite(buffer,size,count,fp)
buffer是文件的指针,亦是文件读取的地址。
size是要读写的字符。
count是要进行多少个size字节的数据项。
fp:文件型指针。
其他的一些读取函数:
1:putw和getw函数:用来对磁盘文件读写一个字
2.fgets和fputs函数:从制定文件读入一个字符串。
3.fprintf和fscanf函数:
文件的定位:文件中有一个未知指针,刚开始时,指向首位,随着读取的进行,以此往后移动。因此使用某些函数可以强制的改变指针的位置。
rewind函数:使位置指针重新返回到文件的开头。
fseek函数:随机读写,能将位置指针按特定的需要移动到文件的某一位置,进行随机读取。
调用方式:fseek(文件型指针,位移量,起始点),其中参数起始点:0表示文件开头;1为当前位置;2,文件末尾。
ftell函数:得到文件位置指针的当前位置。当返回-1L表示出错。
出错的检测
ferror函数:在调用函数是,除了返回值鉴定是否出错还可以使用ferror鉴定。ferror(fp)=0表示没出错,为 非零表示出错。
clearerr函数:清楚错误表示,当出错以后,错误标志就一直保留,直到对同一文件调用函数clearerr以后,或rewind以后。