(十一)linux下用c語言 實現file流的刷新和定位的相關函數

一.用fflush函數將緩衝區中的內容寫到文件中

#include<stdio.h>

int main()
{
    FILE *fp;
    if((fp = fopen("test.txt","w"))==NULL)//普通文件 默認全緩衝 只有當緩衝區滿或關閉才寫道文件裏
    {
        perror("fopen");
        return -1;
    }
    fputc('a',fp);//只是寫到了流的緩衝區裏 上面的已經結束
    fflush(fp);
    while(1);
    return 0;
}

流的定位:

2.ftell()獲取流的當前讀寫位置,打開時讀寫位置爲0 成功返回讀寫位置,錯誤返回EOF.

fseek(FILE× stream,long offset,int whencn)定位流,設定流的當前讀寫位置 whencn參數SEEK_SET文件開始位置,SEEK_CUR文件當前位置,SEEK_END文件末尾

                  offset參數偏移量可正可負。

void rewind(FILE) 定位到文件開始位置。

判斷流是否出錯:

int ferror(FILE *stream);1出錯 0正確

int feof(FILE *stream);是否到文件末尾1已到末尾 0沒到末尾


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