数据结构课程设计-航空订票系统
這是我這學期的課程設計的內容。借此機會學習了c語言的文件操作的內容。
有需要的可以去我的資源下載,也可以查看下一篇博客,里面是源碼,但是寫成博客太麻煩,就不寫了。
C語言的文件處理
1. FILE * fopen(const char * path, const char * mode);
返回值:文件順利打開后,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,并把錯誤代碼
存儲到error中。
mode的類型
r 以只讀方式打開文件,該文件必須存在。
r+ 以讀/寫方式打開文件,該文件必須存在。
rb+ 以讀/寫方式打開一個二進制文件,只允許讀/寫數據。
rt+ 以讀/寫方式打開一個文本文件,允許讀和寫。
w 打開只寫文件,若文件存在則長度清為 0,即該文件內容消失,若不存在則創建該文件。
w+ 打開可讀/寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留(EOF 符保留)。
a+ 以附加方式打開可讀/寫的文件。若文件不存在,則會建立該文件,如果文件存在,則寫入的數據會被加到文件尾后,即文件原先的內容會被保留(原來的 EOF 符不保留)。
wb 以只寫方式打開或新建一個二進制文件,只允許寫數據。
wb+ 以讀/寫方式打開或建立一個二進制文件,允許讀和寫。
wt+ 以讀/寫方式打開或建立一個文本文件,允許讀寫。
at+ 以讀/寫方式打開一個文本文件,允許讀或在文本末追加數據。
ab+ 以讀/寫方式打開一個二進制文件,允許讀或在文件末追加數據。
2. access函數
頭文件:unistd.h
功能:確認文件或文件的訪問權限。即,檢查某個文件的存取方式。如果存取方式有效,則
函數返回0否則返回-1
用法:int access(const char *filepath, int mode);或者int_access(const charpath, int mode);
參數說明:
filepath
文件或者文件夾的路徑,當前目錄直接使用文件呢或文件夾名
備注:當該參數為文件的時候,access函數能使用mode參數所有的值,當該參數為文件夾的時候,access函數值能判斷文件夾是否存在。
mode
要判斷的模式
在頭文件unsited.h的預定義如下:
#define R_OK 4 /只判斷是否有讀權限/
#deifine W_OK 2 /只判斷是否有寫權限/
#define X_OK 1 /判斷是否有執行權限/
#define F_OK 0 /判斷是否存在/
3. feof()是C語言標準庫函數
其原型在stdio.h中,其功能是檢測流上的文件結束符,如果文件結束,則返回非0值,否則返回0
(即,文件結束:返回非0值,文件未結束,返回0值),文件結束符只能被clearerr()清除。
4. fread()函數
函數原型 size_t fread ( void* buffer, size_t size, size_t count, FILE *stream) ;
參數:
buffer 用于接收數據的內存地址
size 要讀的每個數據項的字節數,單位是字節
count 要讀count個數據項,每個數據項size個字節
stream 輸入流
5. fwrite()函數
函數原型 size_t fwrite(const void* buffer, size_t size, size_t count, FILE *stream);
返回值:返回實際寫入的數據塊數目
參數:
buffer 是一個指針,對fwrite來說,是要獲取數據的地址
size 是寫入內容的單字節數
count 要進行寫入size字節的數據項的個數
stream 目標文件指針
6. fseek()函數
函數原型:int fseek(FILE * stream, long offset, int fromwhere);函數設置文件指針stream的位置。
如果執行成功,stream將指向以fromwhere為基準,偏移offset(指針偏移量)個字節的位置,函數返回0。如果執行失敗(比如offset取值大于等于210241024*1024,即long的正數范圍2G),則不改變stream指向的位置,函數返回一個非0值。
fromwhere(偏移起始位置:文件頭0(SEEK_SET),當前位置1(SEEK_CUR),文件尾2(SEEK_END))為基準,偏移offset(指針偏移量)個字節的位置。
完整內容已經上傳到資源中
該課程設計的是參照了網上下載的360多行的代碼,但是它的功能不齊全,業務邏輯也很差。
經修改,豐富了功能,梳理了業務邏輯。
功能模塊圖:
業務邏輯圖:
用戶訂票流程圖:
總結
以上是生活随笔為你收集整理的数据结构课程设计-航空订票系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工作83:wacch的使用
- 下一篇: 数据结构课程设计——药店的药品销售统计系