標準IO操作基礎函式基本使用

2021-10-24 17:38:27 字數 3816 閱讀 5447

說明

fopen, fdopen, freopen - stream open functions

#include

file *

fopen

(const

char

*pathname,

const

char

*mode)

;

例子1

#include

#include

#include

#include

intmain()

puts

("ok!");

fclose

(fp)

;exit(0

);}

例子2 —測試系統可以開啟的最大檔案數量。

#include

#include

#include

#include

intmain()

count++;}

printf

("count=%d\n"

,count)

;exit(0

);}

說明

int

fgetc

(file *stream)

;char

*fgets

(char

*s,int size, file *stream)

;int

getc

(file *stream)

;、 int

getchar

(void);

intungetc

(int c, file *stream)

;

例子

//測試檔案中有多少有效字元

#include

#include

intmain

(int argc,

char

*ar**)

fp=fopen

(ar**[1]

,"r");

if(fp==

null

)while

(fgetc

(fp)

!=eof

)printf

("the size of the file is %d byte\n"

,count)

;fclose

(fp)

;exit(0

);}

fgetc(),fputc()

#include

#include

intmain

(int argc,

char

*ar**)

fps=

fopen

(ar**[1]

,"r");

if(fps==

null

) fpd=

fopen

(ar**[2]

,"w");

if(fpd==

null

)while(1

)fclose

(fpd)

;fclose

(fps)

;exit(0

);}

fgets() ,fputs()

#include

#include

#define buffsize 1024

intmain

(int argc,

char

*ar**)

fps=

fopen

(ar**[1]

,"r");

if(fps==

null

) fpd=

fopen

(ar**[2]

,"w");

if(fpd==

null

)while

(fgets

(buf,buffsize,fps)

!=null

)fclose

(fpd)

;fclose

(fps)

;exit(0

);}

fread(),fwrite()

#include

#include

#define buffsize 1024

intmain

(int argc,

char

*ar**)

fps=

fopen

(ar**[1]

,"r");

if(fps==

null

) fpd=

fopen

(ar**[2]

,"w");

if(fpd==

null

)while

((n=

fread

(buf,

1,buffsize,fps)

)>0)

fclose

(fpd)

;fclose

(fps)

;exit(0

);}

#include

intfseek

(file *stream,

long offset,

int whence)

;long

ftell

(file *stream)

;void

rewind

(file *stream)

;int

fgetpos

(file *stream, fpos_t *pos)

;int

fsetpos

(file *stream,

const fpos_t *pos)

;

作用:大多數情況下是好處,合併系統呼叫

行緩衝:換行時候重新整理,緩衝區滿了的時候重新整理,強制重新整理

全緩衝:滿了的時候重新整理,強制重新整理。

無緩衝:如stderr,需要立即輸出的內容,無緩衝區

/*

**示例

*/#include

#include

intmain()

#include

#include

#include

intmain

(int argc,

char

*ar**)

fp=fopen

(ar**[1]

,"r");

if(fp==

null)/*

*初始化

* */

linebuf=

null

; linesize=0;

while(1

)printf

("%ld\n"

,strlen

(linebuf));

printf

("%ld\n"

,linesize);}

fclose

(fp)

;exit(0

);}

場景:server端,使用者提交的資訊、請求等操作在伺服器端有必要暫時儲存,

1、如何不衝突的建立臨時檔案

2、需及時銷毀

標準I O操作

file fopen const char filename,const char mode fopen函式由filename開啟,mode引數指定檔案的開啟方式 r 唯讀方式開啟,將檔案指標指向檔案頭,如果檔案不存在,則file返回空。r 讀寫方式開啟,將檔案指標指向檔案頭,如果檔案不存在,則fi...

基礎IO操作(庫函式)

常用的檔案操作 fopen 檔名,開啟方式 開啟乙個檔案 開啟方式 r 開啟唯讀檔案,檔案必須存在 r 開啟可讀寫的檔案,檔案必須存在 w 開啟只寫檔案,若檔案不存在則建立檔案,檔案存在則清空原檔案內容 w 開啟可讀可寫檔案,若檔案不存在則建立檔案,檔案存在則清空原檔案內容 a 以附加的方式開啟只寫...

基本IO函式的使用

摘要 本文簡單介紹檔案操作的三個函式 open,read,write 的基本用法。詳細說明了open函式的用法。所需標頭檔案 include include include 函式定義 int open const char pathname,int flags int open const char...