c语言fseek函数的功能(C语言ab+方式打开文件以及fseek函数)
本文目录
C语言ab+方式打开文件以及fseek函数
打开文件可以用fopen。函数原型:FILE * fopen(const char * path,const char * mode);返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。打开文件实例:#include《stdio.h》 #define F_PATH “d:\\myfile\\file.dat“int main(void){ FILE*fp=NULL;//需要注意 fp=fopen(F_PATH,“ab+“); if(NULL==fp) { return -1;//要返回错误代码 } fclose(fp); fp=NULL;//需要指向空,否则会指向原打开文件地址 return 0;}fseek函数功能:重定位流(数据流/文件)上的文件内部位置指针注意:文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变指向别的文件int fseek(FILE *stream, long offset, int fromwhere);参数:stream 文件指针,fromwhere起始基准点,offset在基准点的基础上的偏移量。返回值:成功,返回0,失败返回-1,并设置errno的值,可以用perror()函数输出错误。实例:#include 《stdio.h》long filesize(FILE*stream);int main(void){FILE *stream;stream=fopen(“MYFILE.TXT“,“w+“);fprintf(stream,“Thisisatest“);printf(“FilesizeofMYFILE.TXTis%ldbytes\n“,filesize(stream));fclose(stream);return 0;} long filesize(FILE*stream){long curpos,length;curpos=ftell(stream);fseek(stream,0L,SEEK_END);length=ftell(stream);fseek(stream,curpos,SEEK_SET);return length;}
在c语言中,fseek(fp,sizeof(int)*3,0)是什么意思
int fseek(FILE *stream, long offset, int fromwhere);函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,而fseek返回的是一个整型。所以,fseek(fp,sizeof(int)*3,0)函数将文件指针指向从文件开头,向后偏移3个int单元的地方。
C语言中fseek函数的第2个和第3个参数的具体含义
fseek函数: intfseek(fp,offset,base)FILE*fp;longoffset;intbase; 其中,第二个参数offset是位移量,第三个参数base是基准函数的功能是将fp所指向的文件位置指针移到以base所指出的位置为基准、以offset为位移量的位置
更多文章:
authority什么意思(administration和authority的区别)
2024年7月11日 09:21
在home目录下创建文件(怎么在虚拟机Linux系统home目录下增加目录)
2024年8月20日 14:35
单片机c语言编程数码管显示(运用51单片机实现4位8段LED数码管的动态数字显示,写出C语言程序)
2024年9月4日 14:45
党政机关不允许开特斯拉(特斯拉禁止进入机关单位特斯拉间谍车是怎么回事)
2024年6月26日 10:16
css经典案例(css中如何同时设置网页中的字体大小及背景颜色)
2024年7月22日 15:14
ubuntu安装opencv(ubuntu 11.10下安装openCV失败,求助)
2024年7月18日 21:55
开源系统仿真软件extendsim(半导体器件仿真软件有哪些)
2024年3月31日 08:06
record两种读音(record 的动词和名词读音一样吗)
2024年6月20日 09:47
blueprint是什么意思(蓝本(blueprint)是什么意思)
2024年6月26日 19:29
vs2012安装教程(visual studio2012怎么安装)
2024年7月21日 09:45
linux查看进程并杀死(linux如何关闭已建立的ip连接,杀掉进程)
2024年7月2日 04:50