【C语言---34】文件操作函数知识点整理

文件的打开与关闭:

ANSIC规定使用fopen函数来打开文件,fclose来关闭文件

FILE * fopen ( const char * filename, const char * mode );
int fclose ( FILE * stream )

在这里插入图片描述

filename这个参数,填写的是文件路径,填写绝对路径和相对路径都行,第二个参数是打开方式

注意:"w"只写,下一次重新打开会清空原有数据

文件打开之后需要判断是否打开成功,可使用perror或者strerror,包含的头文件是<errno.h>

#include 
int main ()
{
	 FILE * pFile;
	 pFile = fopen ("myfile.txt","w");
	 if (pFile!=NULL)
	 {
		 fputs ("fopen example",pFile);
		 fclose (pFile);
	 }
	 return 0;
}

程序一运行会自动打开三个文件,stdin.stdout和sterr,所以windows环境下默认最多打开512个文件

Linux环境下打开文件的数量可以配置

读文件的实质是把磁盘的数据读到内存中,用数组存起来,读写使用的函数一般为fread和fwrite

char buf[1024]={0};
fread(buf,1,4,fp);

fread中的第一个参数是待写入的数据,第二个参数是元素大小,第三个元素是元素个数,最后一个是被读取的数据

char buf[1024]={0};
fwrite(buf,1,4,fp);

fwrite中的第一个参数是被读取的数据,第二个参数是元素大小,第三个元素是元素个数,最后一个是待写入的数据

文件的随机读写:

int fseek ( FILE * stream, long int offset, int origin );

fseek函数根据文件指针的位置和偏移量来定位文件指针

stream是句柄,offset表示的是偏移量,origin表示的是起始位置,源点

#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;
}

这里的SEEK_SET表示的是文件的开始位置

ftell函数,返回文件指针相对于起始位置的偏移量,偏移量是以字节为单位

rewind函数,作用是让文件指针的位置回到文件的起始位置

猜你喜欢

转载自blog.csdn.net/Austin_Yan/article/details/89428314
今日推荐