亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

標準I/O庫之讀和寫流

2024-06-28 13:28:43
字體:
來源:轉載
供稿:網友
標準I/O庫之讀和寫流

一旦打開了流,則可在三種不同類型的非格式化I/O中進行選擇,對其進行讀、寫操作:

(1)每次一個字符的I/O。一次讀或寫一個字符,如果流是帶緩沖的,則標準I/O會處理所有緩沖。

(2)每次一行的I/O。如果想要一次讀或寫一行,則使用fgets和fputs。每行都以一個換行符終止。當調用fgets時,應說明能處理的最大行長。

(3)直接I/O。fread和fwrite函數支持這種類型的I/O。每次I/O操作讀或寫某種數量的對象,而每個對象具有指定的長度。這兩個函數常用于從二進制文件中每次讀或寫一個結構。

直接I/O(direct I/O)這個術語來自ISO C標準,有時也被稱為二進制I/O、一次一個對象I/O、面向記錄的I/O或面向結構的I/O。

1、輸入函數

以下三個函數可用于一次讀一個字符。

#include <stdio.h>int getc( FILE *fp );int fgetc( FILE *fp );int getchar( void );三個函數的返回值:若成功則返回下一個字符,若已到達文件結尾或出錯則返回EOF

函數getchar等價于getc(stdin)。前兩個函數的區別是getc可被實現為宏,而fgetc則不能實現為宏。這意味著:

(1)getc的參數不應當是具有副作用的表達式。

(2)因為fgetc一定是一個函數,所以可以得到其地址。這就允許將fgetc的地址作為一個參數傳送給另一個函數。

(3)調用fgetc所需時間很可能長于調用getc,因為調用函數通常所需的時間長于調用宏。

這三個函數在返回下一個字符時,會將其unsigned char類型轉換為int類型。說明為不帶符號的理由是,如果最高位為1也不會使返回值為負。要求整型返回值的理由是,這樣就可以返回所有可能的字符再加上一個已出錯或已到達文件尾端的指示值。在<stdio.h>中的常量EOF被要求是一個負值,其值經常是-1。這就意味著不能將這三個函數的返回值存放在一個字符變量中,以后還要將這些函數的返回值與常量EOF相比較。

注意,不管是出錯還是到達文件尾端,這三個函數都返回同樣的值。為了區分這兩種不同的情況,必須調用ferror或feof。

#include <stdio.h>int ferror( FILE *fp );int feof( FILE *fp );兩個函數返回值:若條件為真則返回非0值(真),否則返回0(假)void clearerr( FILE *fp );

在大多數實現中,為每個流在FILE對象中維持了兩個標志:

  • 出錯標志。
  • 文件結束標志。

調用clearerr則清除這兩個標志。

從流中讀取數據以后,可以調用ungetc將字符再壓送回流中。

#include <stdio.h>int ungetc( int c, FILE *fp );返回值:若成功則返回c,若出錯則返回EOF

壓送回流中的字符以后又可從流中讀出,但讀出的字符的順序與壓送回的順序相反。應當了解,雖然ISO C允許實現支持任意次數的回送,但是它要求實現提供一次只送回一個字符。我們不能期望一次能送回多個字符。

回送的字符不必一定是上一次讀到的字符。不能回送EOF,但是當已經達到文件尾端時,仍可以回送一個字符,下次讀將返回該字符,再次讀則返回EOF。之所以能這樣做的原因是一次成功的ungetc調用會清除該流的文件結束標志。???(這原因解釋的,越解釋越糊涂)

當正在讀一個輸入流,并進行某種形式的分字或分記號操作時,會經常用到回送字符操作。有時需要先看一看下一個字符,以決定如何處理當前字符。然后就需要方便地將剛查看的字符送回,以便下一次調用getc時返回該字符。如果標準I/O庫不提供回送能力,就需要將該字符存放到一個我們自己的變量中,并設置一個標志以便判別在下一次需要一個字符時是調用getc,還是從我們自己的變量中取用。

用ungetc壓送回字符時,并沒有將它們寫到文件中或設備上,只是將它們寫回標準I/O庫的流緩沖區中。

2、輸出函數

對應于上面所述的每個輸入函數都有一個輸出函數。

#include <stdio.h>int putc( int c, FILE *fp );int fputc( int c, FILE *fp );int putchar( int c );三個函數返回值:若成功則返回c,若出錯則返回EOF

與輸入函數一樣,putchar(c)等效于putc(c,staout),putc可實現為宏,而fputc則不能實現為宏。

本篇博文內容摘自《UNIX環境高級編程》(第二版),僅作個人學習記錄所用。關于本書可參考:http://www.apuebook.com/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
最近中文字幕2019免费| 欧美激情亚洲综合一区| 欧美日韩国产精品一区| 国产成人涩涩涩视频在线观看| 久久综合国产精品台湾中文娱乐网| 国产成人avxxxxx在线看| 亚洲免费视频一区二区| 日韩欧美aⅴ综合网站发布| 亚洲国产成人在线视频| 亚洲激情成人网| 欧美日本啪啪无遮挡网站| 中文字幕v亚洲ⅴv天堂| 国产精品三级美女白浆呻吟| 国产精品中文字幕在线| 亚洲视频第一页| 久久免费观看视频| 国产精品嫩草视频| 在线观看视频99| 一区二区三区回区在观看免费视频| 日韩视频免费中文字幕| 久久夜色精品国产| 亚洲自拍偷拍色片视频| 欧美日韩在线免费观看| 色噜噜国产精品视频一区二区| 国产欧美日韩免费| 91在线无精精品一区二区| 在线视频日韩精品| 青青久久aⅴ北条麻妃| 国产精品流白浆视频| 欧美激情在线播放| 欧美野外猛男的大粗鳮| 国产成人精品久久| 欧美一级免费看| 日韩hd视频在线观看| 欧美激情videos| 91精品国产综合久久香蕉| 欧美性视频在线| 精品国偷自产在线视频| 性欧美xxxx视频在线观看| 日韩大片免费观看视频播放| 国产欧美一区二区三区久久人妖| 亚洲自拍偷拍第一页| 最新国产精品亚洲| 精品国产欧美一区二区五十路| 亚洲护士老师的毛茸茸最新章节| 欧美精品性视频| 91色琪琪电影亚洲精品久久| 一区二区三区国产在线观看| 国产成人精品在线观看| 亚洲r级在线观看| yw.139尤物在线精品视频| 亚洲伊人一本大道中文字幕| 狠狠躁夜夜躁人人爽天天天天97| 粗暴蹂躏中文一区二区三区| 国产98色在线| 欧美激情一区二区三区成人| 2024亚洲男人天堂| 亚洲精品国产精品国自产观看浪潮| 欧美国产极速在线| 日韩视频免费中文字幕| 中文字幕亚洲欧美日韩在线不卡| 欧美成人高清视频| 91精品免费久久久久久久久| 国产日韩av在线播放| 欧美精品在线免费观看| 久久九九热免费视频| 国产亚洲视频中文字幕视频| 日本不卡视频在线播放| 一区二区三区四区在线观看视频| 日韩欧美中文字幕在线观看| 精品久久中文字幕| 日韩激情片免费| 亚州成人av在线| 国产成人小视频在线观看| 成人免费视频xnxx.com| 久久久99免费视频| 欧美性资源免费| 国产亚洲欧美日韩精品| 欧美一级视频一区二区| 45www国产精品网站| 日韩网站在线观看| 久久久久久国产精品美女| 国产91精品网站| 亚洲少妇激情视频| 亚洲视频国产视频| 亚洲天堂网站在线观看视频| 在线亚洲欧美视频| 久久久av网站| 亚洲一区美女视频在线观看免费| 91精品国产91久久| 国产成人精品电影| 美女久久久久久久| 国产精品久久一区| 欧美一级免费视频| 91在线视频导航| 国产日产久久高清欧美一区| 成人国产精品免费视频| 亚洲片国产一区一级在线观看| 最近2019中文字幕一页二页| 欧美午夜精品久久久久久浪潮| 中文字幕亚洲综合久久| 国产香蕉一区二区三区在线视频| 日韩av在线免费观看一区| 在线观看亚洲区| 亚洲香蕉在线观看| 成人在线免费观看视视频| 国产一区二区日韩精品欧美精品| 亚洲国产天堂久久综合网| 亚洲精品aⅴ中文字幕乱码| 日韩久久精品电影| 国产精品自拍偷拍视频| 欧美视频在线看| 欧美激情视频网址| 色七七影院综合| 欧美激情女人20p| 8050国产精品久久久久久| 456亚洲影院| 久久男人av资源网站| 成人激情视频免费在线| 久久久久亚洲精品成人网小说| 国产精品伦子伦免费视频| 国产视频精品久久久| 精品福利在线观看| 成人国产在线视频| 亚洲精品国产精品久久清纯直播| 久久久亚洲网站| 亚洲天堂男人天堂女人天堂| 国产成人在线精品| 欧美日韩激情视频| 欧美激情一级欧美精品| 亚洲欧洲一区二区三区在线观看| 欧美放荡办公室videos4k| 在线播放国产一区二区三区| 欧美亚洲国产成人精品| 成人天堂噜噜噜| 日韩免费在线播放| 久久精品成人动漫| 九九九热精品免费视频观看网站| 国产午夜精品理论片a级探花| 91九色综合久久| 亚洲一区二区久久久久久久| 欧美在线一区二区视频| 欧美黑人巨大精品一区二区| 久久亚洲精品中文字幕冲田杏梨| www.日韩.com| 久久久91精品国产| 欧美性猛交xxxxx水多| 免费91麻豆精品国产自产在线观看| 欧美怡春院一区二区三区| 欧美美女18p| 久久人91精品久久久久久不卡| 九九久久综合网站| 欧美裸体xxxx极品少妇软件| 亚洲欧美日韩精品久久奇米色影视| 欧美尤物巨大精品爽| 亚洲女性裸体视频| 日本久久亚洲电影| 国产区亚洲区欧美区| 欧美成人午夜激情| 亚洲男人天堂久| 日韩美女中文字幕| 68精品国产免费久久久久久婷婷| 日韩电影中文字幕在线| 亚洲欧美日韩一区在线|