Linux環境C程序設計(第3版)
徐誠
買這商品的人也買了...
-
$534$507 -
$500$490 -
$500趣味數學及編程拓展, 2/e
-
$1,000$660 -
$594$564 -
$880$695 -
$880$695 -
$779$740 -
$720$562 -
$300$285 -
$414$393 -
$720$562 -
$653車規級芯片技術
-
$414$393 -
$539$512 -
$599$569 -
$954$906 -
$654$621 -
$654$621 -
$834$792 -
$862數字集成電路設計與實戰
-
$708$673 -
$419$398 -
$454模擬集成電路設計 — 基於華大九天集成電路全流程設計平臺 Aether
-
$414$393
相關主題
商品描述
本書是獲得大量讀者好評的“Linux典藏大系”中的《Linux環境C程序設計》(第3版),內容豐富,從基礎知識到高級技術和核心原理,再到項目開發,幾乎涵蓋Linux環境C程序設計的所有重要知識點。《Linux環境C程序設計(第3版)》提供大量實例,供讀者實戰演練,並提供教學視頻、源程序、思維導圖、習題參考答案和教學PPT等超值配套資源,幫助讀者高效、直觀地學習。 《Linux環境C程序設計(第3版)》共27章,分為6篇。第1篇“Linux基礎知識”主要介紹Linux系統概述、Linux基本操作、GCC/G++編譯器、GDB調試器、開發環境搭建等;第2篇“C/C++語言基礎知識”主要介紹C語言編程基礎、數據類型、運算符、表達式、程序控制結構、數組與指針、函數、字符與字符串處理、結構體與共享體、C++語言編程基礎等;第3篇“Linux系統編程”主要介紹文件操作、文件I/O操作、進程控制、進程間的通信與線程控制等;第4篇“Linux網絡編程與數據庫開發”主要介紹網絡編程基礎、網絡編程函數庫、數據庫開發、Linux系統常用數據庫與接口等;第5篇“Linux界面開發”主要介紹界面開發基礎知識、界面構件開發、界面佈局、信號與事件處理、Glade程序界面設計等;第6篇“Linux環境C編程項目實戰”詳細介紹一個媒體播放器項目的開發過程,提高讀者的實戰水平。 《Linux環境C程序設計(第3版)》適合所有想全面學習Linux環境C程序設計的人員閱讀,也適合基於Linux環境進行開發的工程技術人員閱讀,還適合高等院校相關專業的學生和培訓機構的學員作為學慣用書。
目錄大綱
目錄
第1篇 Linux基礎知識
第1章 Linux系統概述 2
1.1 引言 2
1.1.1 GNU項目簡介 2
1.1.2 Linux起源 2
1.1.3 Linux發展現狀 3
1.1.4 免費軟件與開源軟件 3
1.2 Linux內核與版本 4
1.2.1 Linux內核簡介 4
1.2.2 Linux支持的硬件平臺 5
1.2.3 常用的Linux版本 5
1.3 系統安裝 6
1.3.1 安裝前的準備 6
1.3.2 系統需求 7
1.3.3 硬盤分區 7
1.3.4 準備安裝媒介 8
1.3.5 以圖形方式安裝Linux 8
1.3.6 升級為最新的內核版本 10
1.3.7 安裝中文支持 10
1.4 小結 11
1.5 習題 11
第2章 Linux基本操作 12
2.1 登錄 12
2.1.1 Shell程序 12
2.1.2 控制台 12
2.1.3 終端 13
2.2 文件和目錄 14
2.2.1 文件系統 14
2.2.2 文件名 15
2.2.3 路徑名 16
2.2.4 工作目錄 16
2.2.5 起始目錄 16
2.3 輸入和輸出 17
2.3.1 文件描述符 17
2.3.2 標準輸入、標準輸出和標準錯誤 17
2.3.3 標準輸入和輸出函數 17
2.4 小結 17
2.5 習題 18
第3章 Linux C的編譯器與調試器 19
3.1 GCC和G++編譯器 19
3.1.1 GCC和G++編譯器的安裝 19
3.1.2 GCC和G++編譯命令 19
3.1.3 GCC和G++編譯選項 20
3.1.4 GCC和G++編譯器的執行過程 20
3.2 程序和進程 21
3.2.1 程序 21
3.2.2 進程和PID 21
3.3 ANSI C標準 22
3.3.1 函數原型 22
3.3.2 類屬指針 22
3.3.3 原始系統數據類型 22
3.4 編譯hello world 23
3.4.1 使用Vi編寫源代碼 23
3.4.2 程序的編譯與連接 24
3.4.3 使用終端運行程序 24
3.5 GDB調試器 24
3.5.1 GDB調試器簡介 24
3.5.2 GDB調試器的安裝 25
3.5.3 GDB常用的調試命令 25
3.5.4 在GDB中運行程序 26
3.5.5 檢查數據 26
3.6 小結 26
3.7 習題 27
第4章 Linux開發環境 28
4.1 文本編輯工具 28
4.1.1 Vim的使用方法 28
4.1.2 Emacs的使用方法 29
4.2 集成開發環境 30
4.2.1 Eclipse簡介 30
4.2.2 Kdevelop簡介 30
4.3 使用Eclipse開發C和C++程序 31
4.3.1 安裝與配置Eclipse 31
4.3.2 Eclipse界面 31
4.3.3 編譯與運行源代碼 32
4.3.4 調試源代碼 33
4.4 小結 33
4.5 習題 34
第2篇 C/C++語言基礎知識
第5章 C語言編程基礎 36
5.1 程序設計語言的發展 36
5.1.1 機器語言 36
5.1.2 匯編語言 36
5.1.3 高級語言 36
5.2 C語言的特點 37
5.2.1 C語言是中級語言 37
5.2.2 C語言是結構化語言 38
5.2.3 C語言是程序員的語言 38
5.3 C語言的程序結構 38
5.3.1 基本程序結構 39
5.3.2 函數庫和鏈接 40
5.3.3 開發一個C語言程序 41
5.3.4 C語言的關鍵字 42
5.4 算法 42
5.4.1 流程圖與算法的結構化描述 42
5.4.2 用N-S圖描述算法 44
5.4.3 用PAD圖描述算法 44
5.5 軟件工程概述 45
5.5.1 認識軟件工程 45
5.5.2 瀑布模型及其改進 46
5.5.3 迭代發布模型 47
5.5.4 樸素軟件工程思想 47
5.6 小結 49
5.7 習題 49
第6章 數據類型、運算符和表達式 51
6.1 C語言的數據類型 51
6.1.1 基本類型的字長與範圍 51
6.1.2 聚合類型與修飾符 52
6.2 常量與變量 53
6.2.1 標識符命名 53
6.2.2 常量 53
6.2.3 變量 54
6.3 整型數據 55
6.3.1 整型常量 55
6.3.2 整型變量 55
6.4 浮點型數據 56
6.4.1 浮點型常量 56
6.4.2 浮點型變量 56
6.5 字符型數據 57
6.5.1 字符常量 57
6.5.2 字符串常量 57
6.5.3 轉義字符 57
6.5.4 符號常量 58
6.5.5 字符變量 58
6.6 運算符 59
6.6.1 算術運算符 59
6.6.2 自增和自減 59
6.6.3 關系和邏輯運算符 60
6.6.4 位操作符 61
6.6.5 問號操作符 61
6.6.6 逗號操作符 62
6.6.7 優先級 62
6.7 表達式 63
6.7.1 表達式中的類型轉換 63
6.7.2 構成符 63
6.7.3 空格與括號 64
6.7.4 C語言中的簡寫形式 64
6.8 C語言的預處理命令 64
6.8.1 宏替換命令 64
6.8.2 終止編譯命令 65
6.8.3 文件包含命令 65
6.8.4 條件編譯命令 66
6.8.5 修改行號命令 67
6.8.6 編譯指示命令 68
6.8.7 預定義的宏名 68
6.8.8 註釋 69
6.9 小結 69
6.10 習題 69
第7章 程序控制結構 71
7.1 程序的3種基本結構 71
7.2 數據的輸入與輸出 71
7.2.1 scanf()函數 71
7.2.2 printf()函數 73
7.2.3 getchar()函數與putchar()函數 74
7.3 條件控制語句 75
7.3.1 if語句 75
7.3.2 switch語句 76
7.4 循環控制語句 77
7.4.1 while語句 78
7.4.2 do-while語句 78
7.4.3 for語句 79
7.4.4 break語句與continue語句 80
7.5 媒體播放器——建立程序結構 81
7.5.1 編寫偽代碼 81
7.5.2 建立媒體播放器的程序結構 82
7.6 小結 84
7.7 習題 84
第8章 數組與指針 86
8.1 一維數組 86
8.1.1 一維數組的一般形式 86
8.1.2 字符串使用的一維數組 88
8.2 二維數組 89
8.2.1 二維數組的一般形式 89
8.2.2 二維字符串數組 89
8.3 多維數組 90
8.4 指針與指針變量 90
8.5 指針變量的定義與引用 92
8.5.1 指針變量的定義 92
8.5.2 指針變量的引用 93
8.6 指針與數組 93
8.6.1 指針與一維數組 94
8.6.2 指針與二維數組 94
8.6.3 指針與字符串數組 95
8.7 指針的地址分配 96
8.8 指針數組 97
8.9 指向指針的指針 97
8.10 媒體播放器——建立播放列表 98
8.10.1 建立一個播放列表 98
8.10.2 對播放列表排序 102
8.11 小結 104
8.12 習題 104
第9章 函數 106
9.1 函數說明與返回值 106
9.1.1 函數的類型說明 106
9.1.2 返回語句 107
9.2 函數的作用域規則 108
9.2.1 局部變量 108
9.2.2 全局變量 109
9.2.3 動態存儲變量 110
9.2.4 靜態存儲變量 110
9.3 函數的調用與參數 111
9.3.1 形式參數與實際參數 111
9.3.2 賦值調用與引用調用 111
9.4 遞歸 112
9.5 實現問題 113
9.5.1 參數和通用函數 113
9.5.2 效率 114
9.6 函數庫和文件 114
9.6.1 程序文件的大小 114
9.6.2 分類組織文件 115
9.6.3 函數庫 116
9.7 main()函數的參數 117
9.8 媒體播放器——建立核心控制模塊 117
9.8.1 通過函數傳遞參數 118
9.8.2 建立媒體播放器的核心控制模塊 121
9.9 小結 125
9.10 習題 125
第10章 字符與字符串處理 127
10.1 字符編碼 127
10.1.1 ASCII編碼 127
10.1.2 Unicode編碼 127
10.2 字符處理庫 128
10.3 字符串轉換函數 129
10.4 字符串處理函數 131
10.5 字符串比較函數 132
10.6 字符串查找函數 133
10.7 字符串內存函數 134
10.8 字符串的其他函數 136
10.9 媒體播放器——實現播放列表的檢索功能 136
10.9.1 對播放列表中的整個字符串進行排序 136
10.9.2 在播放列表中查找字符串 137
10.10 小結 142
10.11 習題 142
第11章 結構體與共享體 144
11.1 結構體類型變量的定義和引用 144
11.1.1 結構體類型變量的定義 144
11.1.2 結構體類型變量的引用 145
11.1.3 結構體類型變量的初始化 146
11.2 結構體數組的定義和引用 146
11.3 結構體指針的定義和引用 147
11.3.1 使用指向結構體類型變量的指針 147
11.3.2 使用指向結構體類型數組的指針 148
11.4 共享體 148
11.4.1 共享體的定義 148
11.4.2 共享體變量的引用 149
11.5 媒體播放器——建立媒體庫 150
11.5.1 設計媒體庫的數據結構 150
11.5.2 媒體庫的基本操作 153
11.5.3 在媒體庫中添加文件 155
11.5.4 在媒體庫中查找文件 158
11.5.5 從媒體庫中刪除選定的文件 159
11.5.6 刪除媒體庫中的所有文件 160
11.6 小結 160
11.7 習題 161
第12章 C++語言編程基礎 162
12.1 類和數據抽象 162
12.1.1 用類實現數據抽象 162
12.1.2 類的作用域和訪問類成員 164
12.1.3 從實現中分離接口 164
12.1.4 控制訪問成員 165
12.1.5 構造函數和析構函數 165
12.1.6 const對象和const成員函數 166
12.1.7 friend對象和friend類 167
12.1.8 this指針 168
12.1.9 動態內存分配 168
12.1.10 static類成員 169
12.2 C++的特性 169
12.2.1 運算符重載 170
12.2.2 繼承 171
12.2.3 虛擬函數和多態性 171
12.2.4 流輸入與輸出 172
12.2.5 模板 172
12.2.6 異常處理 173
12.3 小結 174
12.4 習題 174
第3篇 Linux系統編程
第13章 文件操作 176
13.1 文件的屬性與權限 176
13.1.1 文件的屬性 176
13.1.2 文件的權限 177
13.1.3 修改文件的權限 177
13.2 文件管理 178
13.2.1 系統調用的原理 178
13.2.2 打開文件、新建文件和關閉文件操作 178
13.2.3 文件狀態和屬性操作 181
13.2.4 目錄操作 183
13.2.5 刪除目錄或文件操作 185
13.2.6 錯誤處理 186
13.3 媒體播放器——增強媒體庫的功能 186
13.3.1 在媒體庫中添加目錄 186
13.3.2 搜索本地硬盤中的所有媒體文件 188
13.4 小結 188
13.5 習題 188
第14章 文件I/O操作 190
14.1 非緩沖文件操作 190
14.1.1 使用read()函數讀取文件 190
14.1.2 使用write()函數寫入文件 191
14.1.3 隨機讀寫文件 192
14.2 緩沖文件操作 193
14.2.1 打開與關閉文件流 193
14.2.2 讀取與寫入文件流 194
14.2.3 文件流的格式化輸入與輸出 196
14.2.4 文件流的定位操作 197
14.2.5 文件流操作的其他函數 198
14.2.6 文件流操作的錯誤處理 198
14.3 媒體播放器——完善播放列表 199
14.3.1 讀取播放列表文件 199
14.3.2 將播放列表保存為文件 201
14.4 小結 202
14.5 習題 202
第15章 進程控制 204
15.1 進程簡述 204
15.1.1 進程的狀態和狀態轉換 204
15.1.2 進程控制 207
15.1.3 進程調度 208
15.2 進程的基本操作 208
15.2.1 fork系統調用 208
15.2.2 exec系統調用 210
15.2.3 exit系統調用 211
15.2.4 wait系統調用 212
15.2.5 sleep系統調用 213
15.3 進程的特殊操作 213
15.3.1 獲得進程ID 213
15.3.2 設置進程的UID和GID 214
15.3.3 設置進程的PGID 214
15.3.4 設置進程的當前工作目錄 215
15.3.5 設置根目錄 215
15.3.6 設置進程的優先級 215
15.4 小結 215
15.5 習題 216
第16章 進程間的通信 217
16.1 進程之間的管道通信 217
16.1.1 pipe系統調用 218
16.1.2 dup系統調用 219
16.2 進程之間的D-Bus通信 220
16.2.1 D-Bus的基本概念 220
16.2.2 D-Bus用例 221
16.3 媒體播放器——完善退出和音量控制功能 224
16.3.1 媒體播放器在桌面環境退出時響應 224
16.3.2 調整系統音量 225
16.4 小結 227
16.5 習題 227
第17章 線程控制 228
17.1 線程的基本概念 228
17.2 線程的實現 228
17.2.1 用戶態線程 229
17.2.2 內核態線程 229
17.3 POSIX線程庫 229
17.3.1 創建線程 229
17.3.2 結束線程 230
17.4 同步 231
17.4.1 信號量同步 232
17.4.2 互斥量同步 233
17.5 取消線程 235
17.6 多線程的實現 237
17.7 小結 238
17.8 習題 239
第4篇 Linux網絡編程與數據庫開發
第18章 網絡編程基礎 242
18.1 電腦網絡的組成 242
18.1.1 網絡結構 242
18.1.2 OSI參考模型 244
18.1.3 TCP/IP參考模型 245
18.2 TCP/IP概述 246
18.2.1 IP與Internet 246
18.2.2 IP地址 247
18.2.3 TCP簡介 248
18.2.4 UDP簡介 249
18.3 Socket套接字 250
18.3.1 Socket套接字簡介 250
18.3.2 創建套接字 251
18.3.3 套接字地址 252
18.3.4 套接字的名字 252
18.3.5 創建套接字隊列 253
18.3.6 接受連接 253
18.3.7 請求連接 254
18.3.8 關閉連接 255
18.3.9 套接字通信 255
18.4 網絡通信 256
18.4.1 查詢主機名稱 257
18.4.2 Internet守護進程 259
18.5 小結 260
18.6 習題 260
第19章 網絡編程函數庫 261
19.1 HTTP與FTP函數庫 261
19.1.1 libcurl函數庫簡介 261
19.1.2 libcurl函數庫中的主要函數 262
19.1.3 使用libcurl函數庫實現簡單的HTTP訪問 264
19.2 SMTP、POP與IMAP函數庫 265
19.2.1 使用libESMTP函數庫實現電子郵件的發送 265
19.2.2 使用libspopc函數庫實現POP訪問 267
19.2.3 使用mailutils函數庫實現IMAP訪問 269
19.3 即時通信函數庫 269
19.3.1 libpurple函數庫簡介 269
19.3.2 即時通信軟件的工作機制 270
19.3.3 使用libpurple函數庫接入服務器 271
19.4 小結 278
19.5 習題 278
第20章 數據庫開發 279
20.1 數據的存儲與訪問 279
20.1.1 使用數據文件 279
20.1.2 使用數據庫 283
20.2 Berkeley DB數據包 284
20.2.1 Berkeley DB數據包簡介 285
20.2.2 Berkeley DB數據包的連接和使用 286
20.2.3 Berkeley DB數據包的訪問 292
20.2.4 Berkeley DB數據包中的光標 293
20.3 PostgreSQL數據庫服務器 295
20.3.1 PostgreSQL的基本簡介 295
20.3.2 數據庫連接函數 296
20.3.3 命令執行函數 299
20.3.4 查詢結果檢索函數 302
20.4 小結 305
20.5 習題 306
第21章 Linux系統常用數據庫與接口 307
21.1 SQLite數據庫 307
21.1.1 SQLite簡介 307
21.1.2 連接SQLite數據庫 308
21.1.3 SQLite命令執行函數 311
21.1.4 SQLite檢索查詢結果函數 312
21.2 MySQL數據庫 315
21.2.1 MySQL簡介 315
21.2.2 連接MySQL數據庫 316
21.2.3 查詢MySQL數據庫 318
21.2.4 處理MySQL查詢結果 319
21.3 大型數據庫與通用數據庫接口 321
21.3.1 連接Oracle數據庫 321
21.3.2 通用數據庫接口 323
21.4 媒體播放器——媒體庫的數據庫實現 329
21.4.1 建立和連接數據庫 329
21.4.2 建立媒體庫數據表 330
21.4.3 管理媒體庫數據表 331
21.5 小結 335
21.6 習題 335
第5篇 Linux界面開發
第22章 界面開發基礎知識 338
22.1 Linux常用的桌面環境 338
22.1.1 GNOME桌面環境 338
22.1.2 KDE桌面環境 339
22.2 GTK+圖形環境簡介 340
22.3 GLib函數庫簡介 341
22.3.1 基礎類型 341
22.3.2 對核心應用的支持 341
22.3.3 實用功能 343
22.3.4 數據類型 344
22.4 GObject對象簡介 345
22.4.1 對象系統 345
22.4.2 GObject系統中的宏定義 346
22.4.3 GTypeInfo結構 348
22.4.4 信號機制 349
22.5 2D圖形引擎Cairo簡介 349
22.6 多媒體函數庫GStreamer簡介 351
22.6.1 過濾器 351
22.6.2 襯墊 352
22.6.3 箱櫃 352
22.6.4 精靈襯墊 353
22.7 搭建GTK+開發環境 355
22.8 小結 356
22.9 習題 357
第23章 界面構件開發 358
23.1 常用的界面構件 358
23.1.1 按鈕構件 358
23.1.2 調整對象 361
23.1.3 範圍構件 361
23.1.4 標簽構件 362
23.1.5 工具提示對象 363
23.1.6 進度條 363
23.1.7 對話框 363
23.1.8 狀態欄 364
23.1.9 文本輸入構件 365
23.1.10 微調按鈕 367
23.1.11 組合輸入框 369
23.1.12 日歷構件 369
23.1.13 顏色選擇對話框 370
23.1.14 文件選擇構件 371
23.2 復合構件 372
23.2.1 快捷標簽 373
23.2.2 字體選擇對話框 374
23.2.3 消息對話框 377
23.2.4 圖像構件 379
23.2.5 文本視區構件 381
23.3 菜單相關構件 381
23.3.1 菜單欄 382
23.3.2 菜單構件 382
23.3.3 菜單項 384
23.3.4 復選菜單項 387
23.3.5 單選菜單項 389
23.3.6 分隔菜單項 390
23.4 小結 390
23.5 習題 390
第24章 界面佈局 392
24.1 界面佈局簡介 392
24.1.1 界面的寬度與高度 392
24.1.2 窗體的基本構件 393
24.1.3 佈局約定 395
24.2 組裝盒構件 396
24.2.1 組裝盒的原理 397
24.2.2 組裝盒示例 398
24.2.3 網格組裝的原理 399
24.2.4 網格組裝示例 400
24.3 容器 401
24.3.1 事件盒 401
24.3.2 固定容器 403
24.3.3 佈局容器 404
24.3.4 框架構件 405
24.3.5 比例框架 408
24.3.6 分欄窗體構件 409
24.3.7 視角構件 410
24.3.8 滾動條窗體 410
24.3.9 按鈕盒 412
24.3.10 工具欄 415
24.3.11 筆記本 417
24.4 媒體播放器——界面實現 421
24.4.1 使用原型法設計媒體播放器界面 421
24.4.2 編寫媒體播放器界面代碼 425
24.5 小結 433
24.6 習題 433
第25章 信號與事件處理 435
25.1 信號函數與回調函數 435
25.1.1 信號函數 435
25.1.2 回調函數 439
25.2 常用的GTK+信號與事件 440
25.2.1 GtkObject類信號 441
25.2.2 GtkWidget界面構件信號 442
25.2.3 GtkWindow窗體構件信號 450
25.2.4 GtkContainer容器構件信號 451
25.2.5 GtkCalendar日歷構件信號 451
25.2.6 GtkTextView文本視區構件信號 452
25.3 小結 453
25.4 習題 453
第26章 Glade程序界面設計 455
26.1 Glade簡介 455
26.2 構造圖形界面 456
26.2.1 添加窗體 456
26.2.2 添加容器 460
26.2.3 添加構件 465
26.2.4 設置構件屬性 468
26.2.5 添加事件和回調函數 469
26.3 C語言代碼聯編 471
26.3.1 使用GTK+函數庫連接Glade項目文件 471
26.3.2 使用GTK+的多語言支持功能 473
26.4 小結 476
26.5 習題 476
第6篇 Linux 環境C編程項目實戰
第27章 編程項目實戰——媒體播放器的實現 480
27.1 軟件工程實戰 480
27.1.1 項目需求分析 480
27.1.2 軟件需求說明 481
27.1.3 項目視圖的解決方案 481
27.2 軟件設計 482
27.2.1 需求分析 482
27.2.2 制訂開發計劃 482
27.2.3 分工協作 483
27.3 版本控制 483
27.3.1 Git服務器搭建 483
27.3.2 Git的上傳和備份 485
27.4 在Eclipse中使用Git 486
27.4.1 將代碼上傳到服務器上 486
27.4.2 將代碼導入Eclipse 488
27.5 音量控制對話框 490
27.5.1 創建對話框 490
27.5.2 添加垂直比例尺 491
27.5.3 測試 491
27.6 播放列表對話框 492
27.6.1 創建對話框 492
27.6.2 創建工具條和工具條按鈕 493
27.6.3 創建樹視圖 495
27.6.4 創建對話框按鈕 495
27.6.5 測試 496
27.7 媒體庫對話框 497
27.7.1 創建對話框 497
27.7.2 創建工具條和工具條按鈕 497
27.7.3 創建分類部件和媒體信息顯示部件 499
27.7.4 創建搜索部件 500
27.7.5 創建對話框按鈕 501
27.7.6 測試 501
27.8 播放控制模塊的實現 504
27.8.1 播放控制模塊程序結構 504
27.8.2 MP3播放功能的實現 505
27.8.3 播放中的回調處理 508
27.9 系統集成 510
27.10 主程序文件的實現 510
27.10.1 頭文件和主函數入口 510
27.10.2 媒體庫模塊初始化 511
27.10.3 圖形界面初始化 512
27.10.4 退出前的清理 512
27.10.5 編譯和運行 513
27.11 媒體庫功能集成 513
27.11.1 初始化 513
27.11.2 顯示媒體庫對話框 513
27.11.3 添加文件 520
27.11.4 添加目錄 522
27.11.5 刪除文件信息 523
27.11.6 刪除所有的文件信息 525
27.11.7 搜索本地文件 526
27.11.8 向播放列表傳遞文件 527
27.11.9 查找 528
27.12 播放列表功能集成 529
27.12.1 初始化 530
27.12.2 顯示播放列表對話框 530
27.12.3 添加文件 532
27.12.4 添加目錄 534
27.12.5 打開文件 535
27.12.6 保存文件 536
27.12.7 刪除文件 537
27.12.8 刪除全部 538
27.12.9 排序 539
27.13 播放控制模塊集成 540
27.13.1 播放模式設置 540
27.13.2 開始播放 540
27.13.3 暫停播放 541
27.13.4 停止播放 542
27.13.5 播放上一首 542
27.13.6 播放下一首 542
27.14 小結 543
Linux環境C程序設計(第3版)
目錄
·VI·
·XXI·