亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

詳解C語言中fseek函數和ftell函數的使用方法

2020-01-26 14:41:03
字體:
來源:轉載
供稿:網友

fseek函數:

int fseek(FILE * _File, long _Offset, int _Origin); 

函數設置文件指針stream的位置。如果執行成功,stream將指向以fromwhere為基準,偏移offset(指針偏移量)個字節的位置,函數返回0。如果執行失敗則不改變stream指向的位置,函數返回一個非0值。
超出文件末尾位置,還是返回0。往回偏移超出首位置,還是返回0,小心使用。
第一個參數stream為文件指針。
第二個參數offset為偏移量,正數表示正向偏移,負數表示負向偏移。
第三個參數origin設定從文件的哪里開始偏移,可能取值為:SEEK_CUR、SEEK_END或SEEK_SET。
SEEK_SET:文件開頭
SEEK_CUR:當前位置
SEEK_END:文件結尾
eg:

#include<stdio.h>#define N 5typedef struct student{ long sno; char name[10]; float score[3];}STU; void fun(char*filename,STU n){ FILE*fp; fp=fopen(filename,"rb+"); fseek(fp,-1L*sizeof(STU),SEEK_END); fwrite(&n,sizeof(STU),1,fp); fclose(fp);} int main()/*修改覆蓋最后一個學生數據*/{ STU t[N]={  {10001,"MaChao",91,92,77},  {10002,"CaoKai",75,60,88},  {10003,"LiSi",85,70,78},  {10004,"FangFang",90,82,87},  {10005,"ZhangSan",95,80,88} };   STU n={10006,"ZhaoSi",55,70,68},ss[N];  int i,j;FILE*fp;   fp=fopen("student.dat","wb");   fwrite(t,sizeof(STU),N,fp);   fclose(fp);   fp=fopen("student.dat","rb");   fread(ss,sizeof(STU),N,fp);   fclose(fp);   printf("/nThe original data:/n/n");   for(j=0;j<N;j++) {  printf("/nNo:%ldName:%-8sScores:",ss[j].sno,ss[j].name);  for(i=0;i<3;i++)    printf("%6.2f",ss[j].score[i]);  printf("/n"); } fun("student.dat",n); printf("/nThe data after modifing:/n/n");  fp=fopen("student.dat","rb"); fread(ss,sizeof(STU),N,fp); fclose(fp);  for(j=0;j<N;j++) {  printf("/nNo:%ldName:%-8sScores:",ss[j].sno,ss[j].name);  for(i=0;i<3;i++)    printf("%6.2f",ss[j].score[i]);  printf("/n"); } return 0;}

ftell函數
ftell函數用于得到文件位置指針當前位置相對與文件首的偏移字節數。在隨機方式存取文件時,由于文件位置頻繁的前后移動,程序不容易確定文件的當前位置。

long len = ftell(fp) 

eg1:

#include <stdio.h>int main( void ){ FILE *stream; stream = fopen( "MYFILE.TXT", "w+" ); fprintf( stream, "This is a test" ); printf( "The file pointer is at byte /%ld/n", ftell( stream ) ); fclose( stream ); return(0);}

eg2:
ftell一般用于讀取文件的長度,下面補充一個例子,讀取文本文件中的內容:

#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp; int flen; char *p;/* 以只讀方式打開文件 */ if ( (fp = fopen( "1.txt", "r" ) ) == NULL ) { printf( "/nfile open error/n" ); exit( 0 ); } fseek( fp, 0L, SEEK_END );       /* 定位到文件末尾 */ flen = ftell( fp );         /* 得到文件大小 */ p = (char *) malloc( flen + 1 ); /* 根據文件大小動態分配內存空間 */ if ( p == NULL ) { fclose( fp ); return(0); } fseek( fp, 0L, SEEK_SET );       /* 定位到文件開頭 */ fread( p, flen, 1, fp );        /* 一次性讀取全部文件內容 */ p[flen] = '/0';             /* 字符串結束標志 */ printf( "%s", p ); fclose( fp ); free( p ); return(0);}


程序改進

#include <stdio.h>main(){ FILE *myf; long f1; /* 此處將f1設置為long 可以讀取更長的文件 */ myf = fopen( "1.txt", "rb" ); fseek( myf, 0, SEEK_END ); f1 = ftell( myf ); fclose( myf ); printf( “ % d / n ”, f1 );}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲tv在线观看| 亚洲第一综合天堂另类专| 欧美日韩在线视频首页| 亚洲另类激情图| 午夜精品久久久久久99热| 91精品国产高清久久久久久久久| 亚洲美女av在线播放| 91国偷自产一区二区三区的观看方式| 国产精品视频一区二区三区四| 都市激情亚洲色图| 亚洲综合大片69999| 高清亚洲成在人网站天堂| 日韩av免费观影| 日韩久久精品成人| 日韩精品久久久久久福利| 欧美床上激情在线观看| 在线观看国产精品日韩av| 亚洲美女性视频| 亚洲精品白浆高清久久久久久| 国产亚洲欧美日韩美女| 日韩在线中文字幕| 一区二区在线免费视频| 亚洲欧美国产制服动漫| 最近2019年中文视频免费在线观看| 97免费在线视频| 亚洲精品一区av在线播放| 国内精品伊人久久| 日韩av123| 欧美激情视频免费观看| 久久人人爽人人爽人人片亚洲| 26uuu国产精品视频| 91系列在线播放| 在线视频中文亚洲| 91久久综合亚洲鲁鲁五月天| 中文字幕日韩高清| 国产精品直播网红| 国产精品嫩草影院一区二区| 性色av一区二区三区红粉影视| 国产成人av在线播放| 九九精品在线播放| 亚洲精品久久久久久久久| 成人久久精品视频| 日韩精品在线观| 精品久久久久久中文字幕| 久久人人爽人人爽人人片亚洲| 午夜精品久久久久久99热| 欧美视频二区36p| 久久理论片午夜琪琪电影网| 福利一区视频在线观看| 欧美一区二区三区免费观看| 久久中文久久字幕| 久久久免费观看| 91av在线免费观看视频| 欧美裸体xxxxx| 欧美午夜精品久久久久久久| 一区二区三区亚洲| 欧美日韩成人在线播放| 日本老师69xxx| 国内免费久久久久久久久久久| 国产一区二区三区视频免费| 日韩av电影中文字幕| 国产mv久久久| 国产精品影院在线观看| 精品亚洲一区二区三区| 日韩免费av在线| 庆余年2免费日韩剧观看大牛| 国产精品偷伦视频免费观看国产| 欧美大尺度在线观看| 国产精品成人在线| 成人免费看吃奶视频网站| 欧美一区二区.| 国产乱肥老妇国产一区二| 亚洲毛片在线免费观看| 亚洲娇小xxxx欧美娇小| 一区二区福利视频| 色悠悠国产精品| 性色av一区二区三区在线观看| 日韩精品视频中文在线观看| 成人性生交大片免费观看嘿嘿视频| 91理论片午午论夜理片久久| 国产精品久久激情| 国产成一区二区| 一本色道久久88亚洲综合88| 日韩精品极品在线观看| 精品少妇一区二区30p| 欧美裸体xxxx极品少妇软件| 26uuu亚洲伊人春色| 亚洲精品国偷自产在线99热| 欧美中文字幕第一页| 精品久久久久久久久久国产| 最近2019中文字幕大全第二页| 亚州精品天堂中文字幕| 精品久久久国产| 国产91色在线播放| 欧美—级高清免费播放| 日韩av在线精品| 精品国产福利在线| 欧美另类极品videosbestfree| 亚洲综合在线中文字幕| 岛国av一区二区三区| 国产成人avxxxxx在线看| 国产精品99蜜臀久久不卡二区| 亚洲欧洲黄色网| 亚洲欧洲一区二区三区久久| 中文字幕日韩精品在线观看| 欧美一级片一区| 国产欧美日韩精品丝袜高跟鞋| 国产女同一区二区| 91国产视频在线播放| 亚洲a级在线观看| 亚洲黄一区二区| 欧美在线免费观看| 久久精品小视频| 亚洲精品国产美女| 欧洲美女7788成人免费视频| 亚洲日韩第一页| 国产精品久久久久久久久久新婚| 久久精品国产欧美亚洲人人爽| 俺去啦;欧美日韩| 亚洲欧洲日本专区| 91国内免费在线视频| 国产亚洲一区精品| 51精品在线观看| 久久精品视频一| 欧美激情视频播放| 亚洲精品一区av在线播放| 欧美日韩激情视频8区| 欧美色视频日本版| 国产精品99久久久久久白浆小说| 久久久精品国产亚洲| 亚洲欧美精品一区二区| 亚洲韩国欧洲国产日产av| 国产欧美一区二区三区久久| 欧美日韩亚洲精品一区二区三区| 国产精品久久久久久久久久久不卡| 国产成人拍精品视频午夜网站| 中文字幕在线视频日韩| 欧美激情精品久久久| 日韩精品亚洲视频| 国产精品视频99| 日韩在线观看av| 丝袜情趣国产精品| 国产成人精品综合久久久| 国产一区二区三区中文| 国产99久久精品一区二区| 26uuu亚洲国产精品| 亚洲男人天堂久| 国产精品久久久久久久久久三级| 国产精品18久久久久久麻辣| 久久久中精品2020中文| 亚洲色图色老头| 久久久在线观看| 国产亚洲欧美一区| 成人免费福利在线| 精品日韩美女的视频高清| 懂色av一区二区三区| 激情av一区二区| 91成人天堂久久成人| 亚洲精品欧美一区二区三区| 日韩亚洲在线观看| 在线播放国产一区中文字幕剧情欧美| 国产美女被下药99| 国产精品久久在线观看| 国产精品丝袜白浆摸在线|