fgetpos是一個函式名,功能是依據當前檔案的句柄,獲取當前訪問指針位置信息。
基本介紹
- 中文名:fgetpos
- 名詞類型:函式
- 名詞領域:編程
- 功能:獲取當前訪問指針位置信息
函式名,程式事例,程式例1,程式例2,
函式名
表頭檔案:# include <stdio.h>
函式原型: int fgetpos(FILE * restrict stream,fpos_t * restrict pos);
函式功能:在pos所指的位置放置一個fpos_t值,這個值描述了檔案中的一個位置。
返回值:如果成功,函式返回0;否則返回一個非零值。
程式事例
程式例1
#include<string.h>#include<stdio.h>intmain(void){FILE*stream;charstring[]="Thisisatest";fpos_t filepos;/*openafileforupdate*/stream=fopen("DUMMY.FIL","w+");/*writeastringintothefile*/fwrite(string,strlen(string),1,stream);/*reportthefilepointerposition*/fgetpos(stream,&filepos);printf("Thefilepointerisatbyte\%ld\n",filepos);fclose(stream);return0;}
程式例2
voidDeleteRowData(intRowNum){/*typedef__int64fpos_t1;*/typedef fpos_t;FILE*fin;charstrsub[20];/**strsub沒顯示*/fpos_t pos_w;fpos_t pos_r;fpos_t pos;inti,k,L=1;char*one_line;L=RowNum;*strsub=0;one_line=(char*)malloc(1000*sizeof(char));fin=fopen("data.TXT","rb+");for(i=1;i<L;i++)fgets(one_line,999,fin);fgetpos(fin,&pos_w);/*該函式在casiodt930上行不通,不解*/fgets(one_line,999,fin);fgetpos(fin,&pos_r);pos=pos_r;while(1==1){fsetpos(fin,&pos);if(fgets(one_line,999,fin)==NULL)break;fgetpos(fin,&pos_r);pos=pos_w;fsetpos(fin,&pos);fprintf(fin,"%s",one_line);fgetpos(fin,&pos_w);pos=pos_r;}fclose(fin);//sprintf(strsub,"%s,%d","test3",L);//Display(7,10,(UB*)"",0);/*清空*///Display(7,10,(UB*)strsub,0);return;