c语言 文件操作
文件类型指针
FILE *fp;
fp是一个指向FILE类型结构体的指针变量。
文件的打开
FILE *fp;
fp=fopen("文件路径","文件使用方式");
其中,文件使用方式有r,w,a,rb,wb,rb(读写)等。
若要打开的文件失败,返回空指针NULL。
若向一个不存在的文件执行写操作:
fopen("data.txt","w");
系统会在当前目录下自动创建一个data.txt文件.
文件读写
(一)fputs,fgets
把一个字符写入磁盘文件中:
fputs(ch,fp);
从指定的磁盘文件读入一个字符:
ch=fgets(fp);
文件结束符:EOF
或者使用feof()判断文件是否结束
while(!feof(fp))
{
ch=fgetc(fp);
}
(二)fwrite,fread
fread(buffer,size,count,fp);
从fp所指向的文件一次读入count个长度为size的数据到buff(buff是指针)中。例如下例:读入2个4字节长度的数据存放到f所指向的内存单元:
fread(f,4,2,fp);
将buffer中的count个size字节的数据写入到fp文件中:
fwrite(buffer,size,count,fp);
(三)fgets,fputs
fgets(str,n,fp);
从fp所指向文件中读入一个字符串到str中,字符串长度为n。若在读完n-1个字符串之前遇到换行符或EOF则读入结束。返回str的首地址。
fputs("china",fp);
将字符串写入到fp指向的文件
(四)fprintf,fscanf
fprintf(fp,"%d %6.2f",i,t);
将i,t的值按照%d %6.2f的格式输出到fp所指文件中。
fscanf(fp,"%d %f",&i,&t);
将fp所指文件的内容按照%d %f格式写入到&i,&t所指内存单元。
文件定位
rewind(fp);
使位置指针重返文件开头;
fseek(fp,100,0);
从起始点+位移量(0+100)处开始读写文件。
文件关闭
fclose(fp);