文件指针
FILE * fp
fp是指针变量
~
打开文件
fopen("文件名","文件使用方式");
文件使用方式(3基本加3变式)
r :读
w:写
a :添加在后
rb,wb,ab:操作二进制文件
r+,w+,a+:从头开始执行
rb+,wb+,ab+:任意位置开始执行
~
关闭文件
fclose(fp);
fclose(文件指针);
~
判断文件结束
feof(fp);
feof(文件指针);
真1假0
~
输入输出字符
输入字符
ch=getc(fp);
字符=getc(文件指针);
ch=fgetc(fp);
字符=fgetc(文件指针);
~
输出字符
putc(ch,fp);
putc(字符,文件指针);
fputc(ch,fp);
fputc(字符,文件指针);
~
输入输出字符串
输入字符串
fgets(str,n,fp);
fgets(起始地址,n-1个字符,文件指针);
系统最后默认'\0'占一个字符
~
输出字符串
fputs(str,fp);
fputs(字符串,文件指针);
~
输入输出文本文件
输入文本文件
fscanf(fp,"%d%d",&a,&b);
fscanf(文件指针,格式控制字符串,输入项表);
scanf("%d%d",&a,&b);
scanf(格式控制字符串,输入项表);
~
输出文本文件
fprintf(fp,"%d%d",a,b);
fprintf(文件指针,格式控制字符串,输出项表);
printf("%d%d",a,b);
printf(格式控制字符串,输入项表);
~
读写二进制文件
读
fread(buffer,size,count,fp);
fread(内存首地址,字节数,数据块个数,文件指针);
写
fwrite(buffer,size,count,fp);
fwrite(数据块起始地址,字节数,数据块个数,文件指针);
~
文件定位函数
从指定位置操作文件
fseek(fp,offset,origin);
fseek(文件指针,位移量,起始点);
~
offset=10 L,后移10个字节
offset=-10 L,前移10个字节
offset=0 L,表示文本文件
~
origin=SEEK_SET,文件开始0
origin=SEEK_CUR,文件当前位置1
origin=SEEK_END,文件末尾2
~
文件当前位置
(即当前位置指针距文件开头的字节数)
t=ftell(fp);
~
反绕函数
(文字指针回到文件开头)
rewind(fp)
领取专属 10元无门槛券
私享最新 技术干货