11、putw():以二进制形式往文件存整数
例:以二进制形式存储一个数组到文件a.date中
#include<stdio.h>
int main(){
int a[5] = {0,1,2,3,4};
int i;
FILE * f;
f = fopen("a.date","wb");
for(i=0;i<5;i++){
putw(a[i],f);
}
fclose(f);
return 0;
}
12、getw():以二进制形式读取整数
例:读取以二进制形式在a.date文件中的整数0、1、2、3、4
#include<stdio.h>
int main(){
int val;
FILE * f;
f = fopen("a.date","rb");
if(!f){
printf("文件打开失败!\n");
return 1;
}
while(1){
val = getw(f);
if(val == -1){
break;
}
printf("%d",val);
}
fclose(f);
return 0;
}
结果:
01234
如果读取失败,返回值为-1。
13、feof():判断文件结束
例:读取文件a.txt并打印
#include<stdio.h>
int main(){
FILE * f;
char c;
//打开文件
f = fopen("a.txt","r");
if(!f){
printf("文件打开失败!\n");
return 1;
}
while(!feof(f)){
c = fgetc(f);
printf("%c",c);
}
fclose(f);
return 0;
}
14、ferror():文件读写出错
例:以读的方式打开文件a.txt,写入一个字符a
#include<stdio.h>
int main(){
FILE * f;
f = fopen("a.txt","r");
if(!f){
printf("文件打开失败!");
return 1;
}
fputc('6',f);
if(ferror(f)){
printf("错误");
}
return 0;
}
结果:
错误: Bad file descriptor
15、clearerr():清除文件错误标志
当文件发生错误后,错误标志一直在,可以利用clearerr()清除错误标志,此函数参数为文件指针。
16、ftell():获取文件指针当前位置
此函数参数为文件指针,返回值为文件指针当前位置
例:获取a.txt文件中文件指针位置,读取一个字符后再获取一次位置
#include<stdio.h>
int main(){
FILE * f;
long s;
f = fopen("b.txt","r");
if(!f){
printf("文件打开失败!");
return 1;
}
s = ftell(f);
printf("s = %ld\n",s);
fgetc(f);
s = ftell(f);
printf("s = %ld\n",s);
fclose(f);
return 0;
}
结果:
s = 0
s = 1