《linux c程式設計指南》學習手記5

2021-09-22 13:26:22 字數 1153 閱讀 6211

8.1 流簡介

開啟:fopen()   標準輸入、標準輸出、標準錯誤   關閉:fclose();

8.2.1 流的開啟與關閉

fopen  開啟特定的檔案

freopen  在乙個特定的流上開啟乙個檔案

fopen  將乙個流與某乙個開啟的特定檔案相對應

fclose 關閉流。如果程式未結束就執行了關閉操作,有可能造成寫入的資料停留在緩衝區裡而沒有儲存到檔案中,造成資料的丟失

8.2.2 緩衝區的操作

1 設定緩衝區屬性

setbuf   全緩衝  無緩衝

setbuffer  由程式設計師自行指定緩衝區的大小

setlinebuf  行緩衝

setvbuf  設定緩衝區屬性

2 緩衝區清洗

內容清除、或 儲存到其檔案中

fflush   將緩衝區中尚未寫入檔案的資料強制性的儲存到檔案中

fpurge   將緩衝區內的資料完全清除

8.2.3  直接輸入輸出

直接輸入輸出、格式化輸入輸出、基於字元與行的輸入輸出

fread 執行直接輸出操作,fwrite 執行直接輸入操作  返回值是實際讀取或寫入的記錄數目

feof 檢測是否讀到檔案的末尾   ferror檢測是否出現了讀寫錯誤

使用clearerr重置結束標誌和 錯誤標誌

8.2.4 格式化輸入輸出

1 格式化輸出

printf函式:向標準輸出流中輸出資料

fprintf 指定的流中輸出資料

sprintf向乙個字串輸出資料

snprintf處理緩衝區  sprintf不能對緩衝區進行處理,使用時可能會出現緩衝區溢位的緩衝區但snprintf不會

2 格式化輸入

scanf 從標準輸入流中輸入資料

fscanf從指定的流中輸入資料

sscanf從乙個字串中輸入資料

8.3 臨時檔案

用於那些在程式執行期間建立使用,程式執行完畢就刪除的檔案

tmpnam 用於建立乙個臨時檔案

tmpfile 用於開啟乙個臨時檔案

《linux c程式設計指南》學習手記3

6.3.1 多個程序之間的關係 程序組 getpgrp void 用來返回程序組號 setpgid用來建立乙個新的程序組或將乙個程序加入另乙個已存在的程序組 6.3.2 時間片分配 排程策略和引數 預設 時間片分配 先進先出 輪換規則 優先順序設定 nice 改變程序的動態優先順序 setprior...

《linux c程式設計指南》學習手記1

第一章 c語言基礎 linux概述 虛擬檔案系統vfs 程序通訊機制 管道,訊號 訊息佇列 訊號燈 共享記憶體 第二章 vim與emacs vi 的含義 visual 視覺化。vim vi improve 第三章 gcc編譯器 檢查是否安裝了gcc rpm a gcc 如果沒有安裝 切換到root ...

《linux c程式設計指南》學習手記4

7.1 檔案系統簡介 7.1.1 檔案 檔案許可權 r w x 訪問許可權 檔案所有者 檔案所有者同組使用者 其他使用者 7.1.2 索引節點 7.1.3 檔案系統 樹形層次結構系統,檔案最終都歸結到根目錄 上 7.2 基於檔案描述符的io操作 7.2.1檔案的建立 開啟與關閉 1 檔案的建立 cr...