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

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

標準I/O庫之打開和關閉流

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

下列三個函數打開一個標準I/O流。

#include <stdio.h>FILE *fopen( const char *restrict pathname, const char *restrict type );FILE *freopen( const char *restrict pathname, const char *restrict type, FILE *restrict fp );FILE *fdopen( int filedes, const char *type );三個函數的返回值:若成功則返回文件指針,若出錯則返回NULL

這三個函數的區別是:

(1)fopen打開一個指定的文件。

(2)freopen在一個指定的流上打開一個指定的文件,如若該流已經打開,則先關閉該流。若該流已經定向,則freopen清除該定向。此函數一般用于將一個指定的文件打開為一個預定義的流:標準輸入、標準輸出或標準出錯。

(3)fdopen獲取一個現有的文件描述符(我們可能從open、dup、dup2、fcntl、pipe、socket、socketpair或accept函數得到此文件描述符),并使一個標準的I/O流與該描述符相結合。此函數常用于由創建管道和網絡通信通道函數返回的描述符。因為這些特殊類型的文件不能用標準I/O fopen函數打開,所以我們必須先調用設備專用函數以獲得一個文件描述符,然后用fdopen使一個標準I/O流與該描述符相關聯。

type參數指定對該I/O流的讀、寫方式,ISO C規定type參數可以有15種不同的值,見表5-2。

1365473716_7201

使用字符b作為type的一部分,這使得標準I/O系統可以區分文本文件和二進制文件。因為UNIX內核并不對這兩種文件進行區分,所以在UNIX系統環境下指定字符b作為type的一部分實際上并無作用。

對于fdopen,type參數的意義稍有區別。因為該描述符已被打開,所以fdopen為寫而打開并不截短該文件。另外,標準I/O添寫方式也不能用于創建該文件(因為如若一個描述符引用一個文件,則該文件一定已經存在)。

當用添寫方式打開一文件后,則每次寫都將數據寫到文件的當前尾端處。如若有多個進程用標準I/O添寫方式打開了同一文件,那么來自每個進程的數據都將正確地寫到文件中。

當以讀和寫類型打開一文件時(type中+符號),具有下列限制:

如果中間沒有fflush、fseek、fsetpos或rewind,則在輸出的后面不能直接跟隨輸入。

如果中間沒有fseek、fsetpos或rewind,或者一個輸入操作沒有到達文件尾端,則在輸入操作之后不能直接跟隨輸出。

對應于表5-2,我們在表5-3中列出了打開一個流的6種不同的方式。

表5-3 打開一個標準I/O流的6種不同的方式

限制

r

w

a

r+

w+

a+

文件必須已存在@@
擦除文件以前的內容@@
流可以讀@@@@
流可以寫@@@@@
流只可在尾端寫@@

注意,在指定w或a類型創建一個新文件時,我們無法說明該文件的訪問權限位。

除非流引用終端設備,否則按系統默認的情況,流被打開時是全緩沖的。若流引用終端設備,則該流是行緩沖的。一旦打開了流,那么在對該流執行任何操作之前,如果希望,則可使用setbuf和setvbuf改變緩沖的類型。

調用fclose關閉一個打開的流。

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

在該文件被關閉之前,沖洗緩沖區中的輸出數據。丟棄緩沖區中的任何輸入數據。如果標準I/O庫已經為該流自動分配了一個緩沖區,則釋放此緩沖區。

當一個進程正常終止時(直接調用exit函數,或從main函數返回),則所有帶未寫緩沖數據的標準I/O都會被沖洗,所有打開的標準I/O流都會被關閉。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲欧美| 最近日韩中文字幕中文| 日本精品久久久| 国产一区二区三区中文| 尤物九九久久国产精品的特点| 欧美日韩一二三四五区| 成人精品视频99在线观看免费| 欧美另类精品xxxx孕妇| 亚洲高清在线观看| 欧美日韩午夜视频在线观看| 亚洲无限乱码一二三四麻| 国内精品小视频在线观看| 国产成人精品综合久久久| 久久久电影免费观看完整版| 国产一区二区激情| 国产精品视频精品视频| 亚洲自拍小视频免费观看| 久久久久久久香蕉网| 久久精品国产成人精品| 久久香蕉国产线看观看av| 国产亚洲视频中文字幕视频| 一本大道香蕉久在线播放29| 正在播放国产一区| 欧美一区二区三区……| 国产精品老女人精品视频| 久久精品视频播放| 中文国产成人精品| 欧美成年人视频网站| 欧美成人国产va精品日本一级| 国产精品久久久久久久久免费| 国产一区二区欧美日韩| 国产精品情侣自拍| 国产精自产拍久久久久久| 亚洲国产日韩一区| 国产精品久久久久久久天堂| 欧美xxxx14xxxxx性爽| 亚洲性xxxx| 欧美大片在线免费观看| 久久久视频精品| 欧美黑人xxx| 久久久久久久久综合| 日韩视频欧美视频| 国产精品爽爽爽爽爽爽在线观看| 国产精品一区二区三区久久| 97超碰蝌蚪网人人做人人爽| 色综合视频一区中文字幕| 久久久久久久久电影| yellow中文字幕久久| 欧美日韩国产中字| 欧美成人国产va精品日本一级| 国产亚洲成av人片在线观看桃| www.久久久久| 2019最新中文字幕| 亚洲成人1234| 久久久精品免费| 欧美精品videofree1080p| 欧美最近摘花xxxx摘花| 日本一区二区三区四区视频| 国产精品久久久久av| 久久综合久久八八| 日韩精品中文字| 日韩欧美国产骚| 亚洲人成免费电影| 另类图片亚洲另类| 国产精品第一视频| 国产欧美一区二区白浆黑人| 在线国产精品视频| 欧美亚洲激情在线| 欧美国产中文字幕| 中文字幕综合一区| 欧美成人第一页| 久久久久久久久久久久av| 97超级碰碰人国产在线观看| 欧美视频一二三| 国产ts一区二区| 日韩在线观看免费全| 91性高湖久久久久久久久_久久99| 日韩av电影手机在线观看| 色偷偷偷亚洲综合网另类| 国产91久久婷婷一区二区| 欧美电影在线观看| 日韩中文字幕精品视频| 久久综合九色九九| 久久精品国产清自在天天线| 97国产一区二区精品久久呦| 一本色道久久88亚洲综合88| 中文字幕在线看视频国产欧美在线看完整| 日韩在线视频免费观看高清中文| 欧美一区视频在线| 欧美电影在线免费观看网站| 日韩欧美国产骚| 欧美日韩精品在线视频| 超薄丝袜一区二区| 国产精品旅馆在线| 人人爽久久涩噜噜噜网站| 91美女片黄在线观看游戏| 国产一区二区三区中文| 欧美亚洲成人精品| 久久久久久久999| 性夜试看影院91社区| 久久久久久久97| 欧美激情精品久久久久| 国产亚洲综合久久| 精品国产91久久久久久| 亚洲综合视频1区| 欧美日韩亚洲一区二区| 91干在线观看| 91av在线精品| 91久久久久久国产精品| 在线视频一区二区| 精品国产区一区二区三区在线观看| 欧美与黑人午夜性猛交久久久| 国产精品成av人在线视午夜片| 国产精品国模在线| 久久视频免费在线播放| 成人激情视频小说免费下载| www.99久久热国产日韩欧美.com| 亚洲最大的成人网| 亚洲精品v欧美精品v日韩精品| 成人激情av在线| 国产精品国产亚洲伊人久久| 日韩av在线天堂网| 成人国产精品色哟哟| 久久久久久久久久国产| 欧美综合第一页| 中文字幕日韩高清| 91中文在线视频| 92看片淫黄大片看国产片| 欧美性高跟鞋xxxxhd| 亚洲美腿欧美激情另类| 国产a级全部精品| 亚洲毛片在线免费观看| 成人在线激情视频| 亚洲一区二区国产| 久久久久久亚洲精品中文字幕| 5252色成人免费视频| 中文字幕亚洲精品| 国产91精品视频在线观看| 亚洲免费精彩视频| 国产一区二区三区久久精品| 久久久女女女女999久久| 亚洲欧美中文日韩在线v日本| 国产视频久久久久| 最近2019年中文视频免费在线观看| 久久久久久久久久久成人| 精品国产一区二区三区久久狼黑人| 中文字幕综合在线| 国产69久久精品成人| 激情亚洲一区二区三区四区| 欧美成人免费在线视频| 久久综合亚洲社区| 国产精品美乳一区二区免费| 在线观看国产精品日韩av| 51久久精品夜色国产麻豆| 亚洲在线观看视频| 国产一区二区精品丝袜| 国产精品久久久久aaaa九色| 成人97在线观看视频| 久久久久久久激情视频| 精品国产一区二区三区久久狼黑人| 欧美激情免费观看| 亚洲国产精品久久久久| 欧美成人精品xxx| 日本韩国欧美精品大片卡二|