標準I O開發

2021-09-08 07:38:25 字數 1687 閱讀 6821

標準i/o操作都是基於流緩衝的,符合ansic標準i/o處理。

全緩衝:填滿快取後才執行i/o操作。如malloc就是全緩衝。

行緩衝:遇到換行符時執行i/o操作。如stdin和stdout。

無緩衝:如stderr。

下面介紹的函式全部包含在stdio.h標頭檔案中。

開啟檔案

file * fopen(const char * path,const char * mode) //mode可以取r(讀),w(寫),a(追加)

file * fdopen(int fd,const char * mode)

file * freopen(const char *path,const char * mode,file * stream)

成功:指向 file 的指標

失敗:null

關閉檔案

int fclose(file * stream)

成功:0

失敗:eof

讀寫檔案

size_t fread(void * ptr,size_t size,size_t nmemb,file * stream)

size_t fwrite(const void * ptr,size_t size,size_t nmemb,file * stream)

size元素的大小

nmemb元素的個數

成功:返回實際讀寫的數目

失敗:返回eof

字元輸入輸出

int getc(file * stream)

int fgetc(file * stream)

int getchar(void)

fgetc是標準庫中的乙個函式,getc通常被定義為乙個巨集,實現效率要高一些,getchar來自stdin

int putc(int c,file * stream)

int fputc(int c,file * stream)

int putchar(int c)

行輸入輸出

char * gets(char *s)

char fgets(char * s,int size,file * stream)

int puts(const char *s)

int fputs(const char * s,file * stream)

格式化輸入輸出

int printf(const char *format,...)

int fprintf(file *fp,const char *format,...)

int sprintf(char *buf,const char *format,...)

int vprintf(const char *format,va_list arg)

int vfprintf(file *fp,const char *format,va_list arg)

int vsprintf(char *buf,const char *format,va_list arg)

int scanf(const char *format,...)

int fscanf(file *fp,const char *format,...)

int sscanf(char *buf,const char *format,...) 

標準I O開發

標準i o操作都是基於流緩衝的,符合ansic標準i o處理。全緩衝 填滿快取後才執行i o操作。如malloc就是全緩衝。行緩衝 遇到換行符時執行i o操作。如stdin和stdout。無緩衝 如stderr。下面介紹的函式全部包含在stdio.h標頭檔案中。開啟檔案 file fopen con...

I O 標準 I O 實驗

一 測試標準 i o 一次可以同時開啟多少個檔案 1 實驗思路 利用迴圈同時開啟檔案,直到不能開啟 2 如下 二 fgetc 和 fputc 實現拷貝檔案並輸出檔案行數 1 實驗思路 開啟檔案,用 fgetc 讀取,然後 fputc 輸出 2 如下 三 fgetc 和 putchar 實現只輸出字母...

標準IO以及標準IO實現拷貝

1 include 2 include 3 include 4int main 513char s this is test.14 size t ret fwrite s,1 strlen s fp 15 if 0 ret 16 寫完指標指向最後,如果讀的話需要移動指標 20fseek fp,0,s...