第一章模板1
1.1 模板的概念1
1.2 模板與巨集的區別3
1.3 函式模板的定義與使用4
1.4 類模板的定義與使用5
1.5 模板的編譯原理7
第二章 c++ stl17
2.1 unix/linux 基本結構17
2.2 輸入和輸出19
2.2.1 unix/linux 檔案系統簡介19
2.2.2 流和標準i/o 庫20
2.3 程序21
第3章程序控制22
第四章程序控制22
第五章程序控制22
第六章程序控制22
第一章模板
1.1 模板的概念
處理的資料型別隨實際情況變化時,可以將資料型別作為可變的部分(型別引數),從程式中抽取出來。當出現真實的資料型別時,再用具體的資料型別代替;
模板分為兩種:函式模板(function template) 類模板(class template)
1.2 模板和巨集定義的區別
巨集定義:避開型別檢查
過載:**冗餘
第二章 stl
2.1 容器的型別
順序容器——向量(vector)
順序容器——列表 (list)
關聯容器——map
第三章檔案io
linux常見的檔案型別:
普通檔案:按資訊儲存方式分為文字檔案和二進位制檔案第乙個字元為』-』
目錄檔案:主要用於管理和組織系統中的大量檔案第乙個字元為『d』
裝置檔案:第乙個字元是『c』表示字元裝置檔案,『b』表示塊裝置檔案
管道檔案:主要用於在程序間傳遞資料(本地通訊),第乙個字元為『p』
套接字檔案:允許網路上的通訊第乙個字元為『s』
鏈結檔案:該檔案包含另乙個檔案的路徑名第乙個字元為『l』
檔案描述符
定義很小的正整數,是乙個索引值,指向核心為每乙個程序所維護的該程序開啟檔案的記錄表,用以標明每個被程序所開啟的檔案和socket。
標準檔案描述符
0:stdin-----需要處理的資料流(標準輸入)
1:stdout---結果資料流(標準輸出)
2:stderr---錯誤訊息流(錯誤輸出)
檔案訪問系統api
最常用的檔案作業系統呼叫
open()開啟檔案
create()建立檔案
close()關閉檔案
read()讀取檔案
write()寫入檔案
lseek()移動檔案指標
fcntl()
open()系統呼叫
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
成功返回檔案描述符fp,失敗時返回-1.第乙個引數是乙個字串引數,是要建立和開啟的新檔案的嗎路徑名。第二個引數指明了open操作需要建立乙個新檔案的「標誌」。
第三個引數指明了新建立的檔案的訪問許可權。
open()系統呼叫的「標誌」
creat()系統呼叫
int creat(const char *pathname, mode_t mode);
creat()相當於open使用了引數flags等於o_creat |o_wronly|o_trunc
close()系統呼叫
int cloae(int fd);
關閉並釋放乙個檔案檔案描述符,成功是返回0,失敗返回-1.
read()和write()系統呼叫
#include
ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);
fd:要進行讀寫操作的檔案描述符
buf:要寫入檔案內容或讀出檔案內容的記憶體位址
count:要讀寫的位元組數
注意:buf的長度必須要大於或者等於count
呼叫write()後都必須檢查返回值是否與要寫入的相同
如果read()讀取成功返回讀取的位元組數目,失敗返回-1.
lseek()系統呼叫
off_t lseek(int fildes, off_t offset, int whence);
fildes:檔案描述符
offset:移動的偏移量,單位為位元組數
whence:檔案指標移動偏移量的解釋,
移動成功時返回檔案指標的當前位置,失敗時返回-1.
修改檔案屬性:
int fcntl(int fd,int cmd,long arg);
int fcntl(int fd,int cmd,struct flock *lock);
fd是檔案描述符,第二個引數指定了函式的操作,函式功能如下:
獲取/設定檔案描述符標誌(cmd=f_getfl或cmd=f_setfd)
獲取/設定檔案鎖(cmd=f_getfk、cmd=f_setlk或cmd=f_setlek)
第4章:程序管理
fork()?vfock
1. fork
vfork
2. fork
vforkexec ?exitexec
?exit
3. vforkexec ?exit
linux串列埠程式設計
這幾天,由於長春門檢系統專案的需要,涉及到了讀卡器資訊的串列埠讀取,所以在linux下串列埠資訊的讀取有了一點心得體會。1開啟串列埠 與其他的關於裝置程式設計的方法一樣,在linux下,操作 控制串列埠也是通過操作起裝置檔案進行的。在linux下,串列埠的裝置檔案是 dev ttys0或 dev t...
PC高階程式設計 總結
1.文件否讀取檔案 fptr 檔案 開啟,c documents and settings 桌面 讀取 v4迴圈 開始,標識 是,編號 3,開始 1,跳過 偏置 x 軸 0,y 軸 0,z 軸 0,角度 0 v3檔案 讀取行,fptr,fw檔案 開啟,c documents and settings...
VC高階程式設計總結 1
018 在靜態控制項上畫座標和圖 10 019 動態庫程式的編寫 11 020 動態連線庫的載入 12 021 自定義訊息的實現 12 022 執行緒的啟動 無引數 13 023 執行緒的啟動 有引數 13 024 多執行緒畫線的操作 14 025 檔案的開啟 讀寫 關閉 15 026 檔案的塊讀寫...