linux檔案服務站 函式知識點

2021-10-09 12:58:26 字數 2338 閱讀 2412

linux檔案服務站專案–函式筆記

》linux檔案服務站 --原始碼

》linux檔案服務站 --專案問答

popen

函式原型:file * popen ( const char * command , const char * type );

所需庫:

返回值:如果呼叫 fork() 或 pipe() 失敗,或者不能分配記憶體將返回null,否則返回標準 i/o 流。

引數說明:type 引數只能是讀或者寫中的一種,得到的返回值(標準 i/o 流)也具有和 type 相應的唯讀或只寫型別。如果 type 是 「r」 則檔案指標連線到 command 的標準輸出;如果 type 是 「w」 則檔案指標連線到 command 的標準輸入。

command 引數是乙個指向以 null 結束的 shell 命令字串的指標。這行命令將被傳到 bin/sh 並使用-c 標誌,shell 將執行這個命令。

功 能: 從乙個流中讀資料

函式原型: int fread(void *ptr, int size, int nitems, file *stream);

單個元素的大小(size) :單位是位元組而不是位,例如讀取乙個整數值就是4

元素個數(nitems)

提供資料的檔案指標(stream)

返回值:成功讀取的元素個數

比如:char str2 = 「cdef」;

char str1 = 「abcdefgh」;

則通過函式,將返回

strstr(str1,str2) = cdefgh;

如果str1不包含有str2。

char str2 = 「cxef」;

char str1 = 「abcdefgh」;

則通過函式,將返回

strstr(str1,str2) = null;

》strtok

函式原型:char *strtok(char *s, char *delim)

返回值:分隔符匹配到的第乙個子串

!!strtok函式會破壞被分解字串的完整,呼叫前和呼叫後的s(呼叫的字串)已經不一樣了。如果要保持原字串的完整,可以使用strchr和sscanf的組合等。

char

*msg_strtok

(char

*cmd)

在linux下,access函式的宣告在檔案中,宣告如下:

int access(const char *pathname, int mode);

access函式用來判斷指定的檔案或目錄是否存在(f_ok),已存在的檔案或目錄是否有可讀(r_ok)、可寫(w_ok)、可執行(x_ok)許可權。f_ok、r_ok、w_ok、x_ok這四種方式通過access函式中的第二個引數mode指定。如果指定的方式有效,則此函式返回0,否則返回-1。

定義函式:int chdir(const char * path);

函式說明:chdir()用來將當前的工作目錄改變成以引數path 所指的目錄.

返回值執:行成功則返回0, 失敗返回-1, errno 為錯誤**.

在使用多個輸出函式連續進行多次輸出時,有可能發現輸出錯誤。因為下乙個資料再上乙個資料還沒輸出完畢,還在輸出緩衝區中時,下乙個printf就把另乙個資料加入輸出緩衝區,結果沖掉了原來的資料,出現輸出錯誤。 在 prinf();後加上fflush(stdout); 強制馬上輸出,避免錯誤。

標頭檔案:#include

定義函式:int fflush(file * stream);

函式說明:fflush()會強迫將緩衝區內的資料寫回引數stream指定的檔案中,如果引數stream為null,fflush()會將所有開啟的檔案資料更新。

返回值:成功返回0,失敗返回eof,錯誤**存於errno中。

fflush()也可用於標準輸入(stdin)和標準輸出(stdout),用來清空標準輸入輸出緩衝區。

stdin是standard input的縮寫,即標準輸入,一般是指鍵盤;標準輸入緩衝區即是用來暫存從鍵盤輸入的內容的緩衝區。stdout是standard output 的縮寫,即標準輸出,一般是指顯示器;標準輸出緩衝區即是用來暫存將要顯示的內容的緩衝區。

清空標準輸出緩衝區,

重新整理輸出緩衝區,即將緩衝區的東西輸出到螢幕上

如果圓括號裡是已寫開啟的檔案的指標,則將輸出緩衝區的內容寫入該指標指向的檔案,否則清除輸出緩衝區。

這裡的stdout是系統定義的標準輸出檔案指標,預設情況下指螢幕,那就是把緩衝區的內容寫到螢幕上。

可是從**中看不出緩衝區會有什麼內容,所以它實際上沒有起什麼作用

函式知識點

1.函式 函式就是一種封裝 2.定義函式 function 函式名 3.函式不會自動執行,需要被呼叫才可以執行 函式名 4.函式命名規則 與變數命名規則一致 1 以字母 開頭 2 可以包含數字 字母 3 區分大小寫 4 不能使用關鍵字和保留字 駝峰命名法 若名稱由多個單詞組成,則從第二個單詞開始,首...

函式知識點

今日主要內容 函式 一,函式的概念 函式就是對一些重複使用的功能的封閉 二,函式的組成部分 1,函式名 是程式使用函式的依據 2,函式體 是實現功能的具體 塊 3,函式返回值 功能實現的結果 4,函式引數 實現功能的條件 三,函式的定義 函式需要先定義,再呼叫 def 函式申明的關鍵字 例 def ...

linux 壓縮 ,解壓檔案知識點

常用的引數和用法如下 1例 我要備份我自己的資料目錄 usr local compose test2 time tar zpcv f back.tar.gz time 會顯示壓縮過程使用時間 f 後面要緊跟打包之後的檔案 back.tar.gz 要打包的檔案或目錄 2例 檢視上例打包好的壓縮包中檔案...