c語言中文件的結(jié)尾指的是文件的最后一個字符的下一個字符
十載的貴港網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整貴港建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“貴港網(wǎng)站設(shè)計”,“貴港網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
例如:文件a.txt中有三個字符abc,即文件大小為3
那么文件的實際內(nèi)容如下圖.
echo -n abc > a.txt
#include <stdio.h> #include <stdlib.h> int main(void){ FILE* fp = fopen("a.txt","r"); if(NULL==fp){ perror("fopen"),exit(-1); } int c; while(!feof(fp)){ //當(dāng)文件指針第一次到達文件結(jié)尾處時,feof函數(shù)返回的是0. c = getc(fp); printf("c=%d\n",c); if(ferror(fp)){ perror("ferror"),exit(-1); } } fclose(fp); return 0; }
c=97
c=98
c=99
c=-1
所以正確做法應(yīng)該是
#include <stdio.h> #include <stdlib.h> int main(void){ FILE* fp = fopen("a.txt","r"); if(NULL==fp){ perror("fopen"),exit(-1); } int c; while((c=getc(fp))!=EOF){ printf("c=%d\n",c); if(ferror(fp)){ perror("ferror"),exit(-1); } } return 0; }
c=97
c=98
c=99
如何讀出文件最后一個字符c,如下:
#include <stdio.h> #include <sys/types.h> #include <fcntl.h> int main(void){ FILE* fp = fopen("a.txt","r"); fseek(fp,-1,SEEK_END); char c; c = getc(fp); printf("c=%d\n",c); fseek(fp,0,SEEK_END); printf("feof(fp)=%d\n",feof(fp));//此時在文件結(jié)尾處 //即文件最后一個字符(即c字符)的下一個字符處 //結(jié)果為0 c = getc(fp); printf("c=%d\n",c); //c=-1 printf("feof(fp)=%d\n",feof(fp));//結(jié)果為1 return 0; }
c=99
feof(fp)=0
c=-1
feof(fp)=1
名稱欄目:文件的結(jié)尾和文件開頭
文章URL:http://www.rwnh.cn/article28/jscojp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站改版、定制開發(fā)、網(wǎng)站維護、微信公眾號、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)