一、文件指针变量
打开一个文件时,系统会自动创建一个FILE结构类型的变量,我们一般通过一个FILE的指针来维护FILE结构的变量,这样使用起来更加方便,例如
FILE * pf
二、文件的打开和关闭
我们使用fopen来打开文件,fclose来关闭文件:
FILE * fopen ( const char * filename, const char * mode );
int fclose ( FILE * stream );
其中mode表示文件打开模式,例如r为只读,w为只写等等
三、文件读写函数
上表中适⽤于所有输⼊流⼀般指适⽤于标准输⼊流和其他输⼊流(如⽂件输⼊流);所有输出流⼀般指适⽤于标准输出流和其他输出流(如⽂件输出)
四、文件的随机读写
1、fseek函数:
int
fseek
( FILE * stream,
long int
offset,
int
origin );
fseek函数可以根据指针的位置和偏移量来定位指针。例如:
#include <stdio.h>
int main ()
{
FILE * pFile;
pFile = fopen ( "example.txt" , "wb" );
fputs ( "This is an apple." , pFile );
fseek ( pFile , 9 , SEEK_SET );
fputs ( " sam" , pFile );
fclose ( pFile );
return 0;
}
2、ftell函数
long int
ftell
( FILE * stream );
ftell函数可以返回文件指针相对于起始的偏移量。例如:
#include <stdio.h>
int main ()
{
FILE * pFile;
long size;
pFile = fopen ("myfile.txt","rb");
if (pFile==NULL)
perror ("Error opening file");
else
{
fseek (pFile, 0, SEEK_END);
size=ftell (pFile);
fclose (pFile);
printf ("Size of myfile.txt: %ld bytes.\n",size);
}
return 0;
}
3、rewind函数
void
rewind
( FILE * stream );
rewind函数可以让文件指针返回文件的起始位置。例如:
#include <stdio.h>
int main ()
{
int n;
FILE * pFile;
char buffer [27];
pFile = fopen ("myfile.txt","w+");
for ( n='A' ; n<='Z' ; n++)
fputc ( n, pFile);
rewind (pFile);
fread (buffer,1,26,pFile);
fclose (pFile);
buffer[26]='\0';
printf(buffer);
return 0;
}
以上就是本篇博客全部内容。