【續2】linux C語言 文件描述符 讀寫地址分析

記錄時間:2014-10-24 10:35


記錄原因:一直對文件指針讀寫存在疑惑,導致經常性的操作文件時,結果不理想。原來一直是對文件被打開後,對文件流指針的讀寫位置沒有弄清楚。


文件在打開後,任何一個對文件的操作都會改變文件流指針的位置,所以在對文件進行操作時,應從如下兩點考慮:


1、文件是不是第一次打開:可以確認文件指針的確卻位置;


2、檢測文件打開方式,特殊注意區分a與a+打開方式的不同點,然後使用fseek將文件流指針制定到指定位置,再進行操作,這樣才能保證讀寫文件的數據正常。


vi /tmp/test.c

1111111111111111

222222222222222

33333333333333


simple example:


int main()

{

FILE *fp = NULL;

char readbuf[256] = "";

fp = fopen("/temp/test.c","r");

while(fget(readbuf, 256, fp))

{

printf("readbuf is %s\n", readbuf);

memset(readbuf, 0, sizof(readbuf));

}


fclose(fp);

return 0;

}



執行結果:

1111111111111111

222222222222222

33333333333333


得到結果:

每次調用fgets()後,文件流指針都被移動。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章