ImageVerifierCode 换一换
格式:PPT , 页数:22 ,大小:140KB ,
资源ID:379224      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-379224.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C 程式设计档案处理.ppt)为本站会员(李朗)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

C 程式设计档案处理.ppt

1、C 程式設計 檔案處理,台大資訊工程學系 資訊系統訓練班,課程大綱,C語言簡介 基本資料型態, 變數, 基本輸入輸出 控制敘述- 選擇控制與重覆控制 陣列 函式 指標 字元與字串 結構 檔案處理,本次課程大綱,C語言的檔案處理 檔案類型 開檔與關檔 檔案I/O函式 隨機式存取 二進位檔的存取,C語言的檔案觀念,C語言將資料都看成由一連串字元組成的資料流(stream). 標準檔案I/O函數在fopen()開啟一個檔案後,C語言會要求作業系統在主記憶體保留一塊空間做為檔案I/O的缓衝區.所有檔案I/O動作則是對這塊缓衝區做字元的讀取跟寫入,直到檔案被關閉後fclose(),檔案的內容才會真正寫回

2、儲存設備.,檔案類型,文字檔: 方便閱讀,但較無保密性。其他使用者也可以透過純文字編輯器開啟並成功閱讀。 二進位檔: I/O速度較快並具有保密性,但檔案內容需透過程式轉譯才能閱讀。二進位檔的資料是由一連串的位元組(Byte)所組合,通常使用在某些特殊用途(例如圖檔),文字資料與二元資料,文字資料流以字串形成儲存在檔案中,以n做為換行字元,以Z做為EOF二元資料流與記憶體相同格式來儲存在檔案中,檔案的開啟跟關閉,fopen()跟fclose()對某個檔案進行讀取寫入的動作前,一定要先開啟檔案,當將資料處理完成後,還要關閉檔案,我們稱之為缓衝式的I/O處理,其功能在增進檔案處理效率,因而無須時時讀

3、取磁碟機.,FILE,FILE是在stdio.h中宣告的結構體,主要用於存放I/O stream在主記憶體的位址.FILE能記錄下一個讀取或寫入字元目前位於stream的位址,檔案讀寫狀況,及檔案讀寫是否有錯誤發生.,fopen(),FILE *fopen (char filename, char mode);filename代表要開啟的檔案名稱.mode代表要對檔案處理的模式.若開啟檔案有誤,則回傳NULL。,fopen()開啟檔案的模式,Mode 功能說明“r” 開啟一個只能讀取資料的檔案“w” 建立用來寫入資料的檔案,若檔案存在,其內容會被覆蓋 “a” 將新的資料加在檔尾;若檔案不存在,

4、則另建新檔“+” 提供可寫可讀的功能,但不能單獨存在以上4種模式可以混合使用, 例如 “rw” “ra” “r+” 代表文字資料流的話要加”t”, 內定是文字模式 代表二元資料流的話要加”b”,fclose(),int *fclose(FILE *fp); 當回傳值為-1時,代表關閉檔案時發生錯誤。當回傳值等於0,則表示成功關閉檔案例子: 嘗試開啟檔案跟關閉檔案.,I/O函式,C語言的檔案I/O處理功能是由函式庫所提供的,ANSI提供一套標準檔案I/O函式,使在不同作業系統下,能有一套標準的I/O函式.由於有標準介面,我們將無須理會不同作業系統與I/O函式的介面問題,而這也是C語言所以具有高度

5、可攜性的原因之一.,字元I/O函式,fgetc()跟fputc()int fgetc(FILE* fp); 傳回所讀取的字元, 如果是EOF則代表讀到檔案結尾. Int *fputc(int c, FILE *fp); 傳回EOF表示寫入過程有錯誤,傳回c則表示成功寫入.,例子,例子1: 輸入資料到檔案中.例子2: 讀取一個文字檔,並印在螢幕上.,字串I/O函式,char *fgets(char *str,int n, FILE *fp); 從檔案讀取一行字串,傳回NULL代表有錯誤發生或檔案結束.int fputs(char *str, FILE *fp); 傳回-1(EOF)表示有錯誤發生

6、.,格式化I/O函式,int fscanf(FILE *fp, char *format ); 傳回0表示有錯誤,否則傳回成功輸出的資料數.int fprintf(FILE *fp, char *format ); 傳回0表示有錯誤,否則傳回成功輸出的資料數.例子: 以指定的格式輸出學生序號,姓名及英數成積到檔案.,隨機讀寫,int fseek(FILE *fp, long offset, int where); 傳為0代表成功,否則失敗 offset:偏移檔案指標offset個位置。 where=0, 代表檔案的起始位置 where=1, 代表目前檔案的指標位置 where=2, 代表檔案的

7、結尾例子:移到檔案末端, 使用fseek()更新檔案.,二元資料的開啟,fopen(filename,“rb“); /* 開檔時,指定讀取binary檔案 */ fopen(filename,“wb“); /* 開檔時,指定寫入資料到binary檔案 */ fopen(filename,“ab“); /* 開檔時,指定將資料加在binary檔案的後面 */ 例子,二元資料的讀取跟寫入(1),size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);回傳值:實際讀取的資料筆數,size_t資料型態定義於stdio,通常是un

8、signed int的別名。 ptr:存放資料的緩衝區指標。 size:要讀取的資料型態大小。 nmemb:要讀取的資料筆數。 stream:一個已開啟的檔案指標,代表要讀取的檔案串流。,二元資料的讀取跟寫入(2),size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream); 回傳值:實際寫入的資料筆數,size_t資料型態定義於stdio,通常是unsigned int的別名。 ptr:存放資料的緩衝區指標。 size:要寫入的資料型態大小。 nmemb:要寫入的資料筆數。 stream:一個已開啟的檔案指標,代表要寫入的檔案串流。 例子,練習時間,請將員工資料,寫入二進位檔,並讀出,今天學到了什麼,什麼是C語言的檔案處理 什麼是檔案類型 如何使用開檔與關檔 如何使用檔案I/O函式 如何隨機存取檔案 如何存取二進位檔,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1