標準I/O流

FILE結構體也稱爲流(Stream)

流分爲文本流和二進制流,兩者區別爲:文本流:換行符表示爲爲“\r\n” 二進制流:換行符表示爲爲“\n”。

全緩衝:當流的緩衝區無數據或者無空間時才執行實際I/O操作。

行緩衝:當輸入輸出遇到換行符時進行I/O操作。

無緩衝:數據直接寫入文件,流不進行緩衝。


標準I/O預定了三個流,程序運行時自動打開 :

標準輸入流      0        stdin

標準輸出流      1        stdout

標準錯誤流      2        stderr


用fgetc()和fputc()實現文件拷貝(文件複製)。

#include <stdio.h>

int main(int argc,char* argv[])                                //main函數傳參,傳入源文件和目標文件所在路徑
{
 FILE *fpsrc,*fpdst;                                                  //指向兩個文件的指針
 char ch;
 if(argc<3)
      {
         perror("few arguments.");
         return -1;
      }
 if((fpsrc=fopen(argv[1],"r"))==NULL)
     {
       perror("fopen fpsrc failed.");                               //用fopen()打開文件函數參數中包含路徑名和打開方式 “r”爲只讀方式 “w”爲只寫方式
       return -1;
     }
 if((fpdst=fopen(argv[2],"w"))==NULL)
     {
        perror("fopen fpdst failed.");
        return -1;
     }
 while((ch = fgetc(fpsrc))!=EOF)                         //EOF爲文件結束標誌
     {
        fputc(ch,fpdst);
     }
        fclose(fpsrc);                                             //fclose()用於關閉流
        fclose(fpdst);
    return 0;
}


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