關於open,fopen的引數,白話文版!

2021-05-09 06:45:09 字數 1289 閱讀 8921

相信大家都看怕了一些技術性的文章,裡面都是一些專業的術語,本來很簡單的問題,在其描述之下,讓新手摸不著頭腦。

先開始說open這個函式。

它的定義是這樣的:int open(const char *path,int oflags)

其中path引數顧名思義,表示檔案所在的路徑,例如「/root/homework」(這個是linux底下的檔案路徑形式)

oflags是什麼呢?他基本的值有

o_rdonly這個表示檔案以唯讀方式開啟,就是開啟檔案後,你只能進行讀操作,不可寫入資料。

o_wronly這個表示以寫入方式開啟,就是你開啟檔案後,你只能進行寫操作,而不可讀出資料

o_rdwr這個是以讀寫操作開啟檔案,你既可寫也可讀檔案

下面幾個是oflags的可選專案

o_trunc是把檔案中內容清空後,再寫入你的資料

o_creat是建立檔案(若檔案存在則不建立)

現在開始舉例說明:

open("/root/homework",o_rdonly)以讀的方式開啟root目錄下的檔案homework,該檔案必須是已經存在

open("/root/homework",o_rdonly|o_creat)以讀的方式開啟root目錄下的檔案homework,如果該檔案不存在則會建立這個檔案

open("/root/homework",o_wronly)以寫的方式開啟檔案,該檔案要事先存在

open("/root/homework",o_wronly|o_creat)以寫的方式開啟root目錄下的檔案homework,如果該檔案不存在則會建立這個檔案

open("/root/homework",o_wronly|o_creat|o_trunc)以上面為例子,例如原來homework檔案中的內容為「你是誰」,你現在要寫入「我還就是我」,那麼你寫入後檔案中的內容為「我還就是我」,這個o_trunc選項會先把檔案先清空。

與o_creat相關的許可權選項先不說了

現在說一下fopen這個函式

他的定義是:file *fopen(const char *filename,const char *mode);

第乙個引數是檔案路徑了,例如「/root/check」

第二個引數有很多個

r 以讀方式開啟

w 以寫方式開啟,並把檔案清空,然後再寫入資料,注意:如果檔案不存在,它還會建立檔案

a  以寫方式開啟,資料寫入到檔案末尾,也就是上次寫入的資料末尾,如果上次寫到「123456」,你再寫的話就是「123456789」

r+ 以讀寫方式開啟

w+ 以讀寫方式開啟

a+ 以讀寫方式開啟

關於白盒與黑盒

開通黃鑽 關於白盒與黑盒 什麼是黑盒測試和白盒測試?任何工程產品 注意是任何工程產品 都可以使用以下兩種方法之一進行測試。黑盒測試 已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。白盒測試 已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是...

關於img 底部留白的問題

首先我們需要了解的一些問題 1.img 元素是行內元素 儘管有時候表現的像行內塊級元素 2.vertical align 屬性是設定元素的垂直對齊方式 定義了行內元素的基線 baseline相對於該元素所在行的基線的垂直對齊 vertical align的預設值為baseline,元素放置在父元素的...

關於Paint的引數

paint paint new paint paint.setantialias true 防鋸齒 paint.setdither true 防抖動 paint.setstyle paint.style.stroke 畫筆型別 stroke空心 fill 實心 fill and stroke 用契形...