標準I/O操作:
創(chuàng)新互聯(lián)專注于企業(yè)全網營銷推廣、網站重做改版、饒河網站定制設計、自適應品牌網站建設、html5、商城網站開發(fā)、集團公司官網建設、成都外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為饒河等各大城市提供網站開發(fā)制作服務。
1、FILE* fopen(const char* path, const char* mode)
FILE :文件打開的各種狀態(tài)信息的指針;
path: 文件路徑;注意,目錄文件只能以只讀形式打開,不能進行寫;
mode: 文件打開的模式: “r”(只讀,且文件必須存在),“w”(只寫,如果文件不存在,則創(chuàng)建,如果已經存在,則將其長度截斷為0,從頭寫),“a”(表示追加數(shù)據(jù)到末尾,如果文件不存在,則創(chuàng)建),“r+”,“w+”,“a+”;
2、int fgetc(FILE *stream) 從文件或終端中讀取一個字節(jié)返回,本來應該返回uchar類型,但是函數(shù)原型的返回值是int型,所以要轉化為擴展為int型的;這個函數(shù)既可以從終端讀,也可以從文件中讀;
3、int getchar(void) 從終端(只能從終端)中讀取一個字節(jié),返回時擴展為int型,原因同上;
4、int fputc(int c,FILE* stream);int putchar(int c); 為寫入函數(shù),寫入是文件必須是可寫的;
5、int fseek(FILE* stream, long offset ,int whence) 用于設置讀寫指針偏移,返回相對于文件起始位置的偏移量大??;
6、int ftell(FILE *stream) 用于返回當前讀寫指針的位置;
7、void rewind(FILE *stream) 用于讀寫指針移動到文件的起始位置;
8、char* gets(char *s)從標準輸入一行保存在緩沖區(qū),但是永遠不要用這個函數(shù);因為未指定緩存區(qū)的大小,所以很容易產生緩沖區(qū)溢出,造成錯誤;
9、char* fgets(char *s, int size, FILE* stream) 表示從指定的文件中讀取一行,到用戶指定的緩沖區(qū);返回的指針是指針s移動后的位置;
注意: fgets()只適用于讀不含‘\0’的文本文件,因為fgets()會自動在末尾加‘\0’,但是,如果用戶在輸入中也輸入‘\0’,那么就無法識別是fgets自己加的,還是用戶加的;另外,由于’\0‘的ASIIC 是0x00,所以在不能讀二進制文件;
10、int fputs(const char *s, FILE* stream); 將字符串寫入到文件中,不含末尾的’\0‘;
int puts(const char* s); 將字符串寫入到標準輸入中;
11、對文件進行的任何操作,都要先明白讀寫指針在什么地方,這個決定了你讀寫的位置;
12、fread(void *str, size_t size, size_t nmemb, FILE* stream) 從文件stream 中讀取nmemb 個大小為size字節(jié)大小的數(shù)據(jù)到 str;
fwrite(void *str, size_t size, size_t nmemb, FILE* stream) 同上,是寫入文件;
13、全緩沖:等待緩沖區(qū)寫滿以后,才寫入內核;常規(guī)文件用此方式;
行緩沖:等待有換行符的時候,就寫入內核;標準輸入輸出用這種方式;
不帶緩沖:用戶每次寫操作都要調用系統(tǒng)調用,寫入內核;
int fflush(FILE* stream) 用于將緩沖區(qū)的數(shù)據(jù)立即寫入內核;成功返回0;
14、標準文件流:FILE: stdin ,stdout, stderr;
網頁標題:標準I/O操作
鏈接URL:http://www.rwnh.cn/article34/gshsse.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站排名、營銷型網站建設、網站建設、標簽優(yōu)化、面包屑導航、動態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)