slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
將資料存入磁碟或由磁碟取出資料的方式 , 稱為檔案存取處理。 C 語言的檔案處理 C++ 語言 PowerPoint Presentation
Download Presentation
將資料存入磁碟或由磁碟取出資料的方式 , 稱為檔案存取處理。 C 語言的檔案處理 C++ 語言

Loading in 2 Seconds...

play fullscreen
1 / 15

將資料存入磁碟或由磁碟取出資料的方式 , 稱為檔案存取處理。 C 語言的檔案處理 C++ 語言 - PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on

檔案. 將資料存入磁碟或由磁碟取出資料的方式 , 稱為檔案存取處理。 C 語言的檔案處理 C++ 語言的檔案處理. 檔案的種類. 檔案依資料存取方式可分為循序檔與隨機檔 , 分別說明如下: 循序檔 採用整批儲存與整批取出資料的方式稱為循序檔 , 此種存取模式較適合文書檔的儲存。例如 , 當我們編輯一封書信時 , 通常都是整篇儲存 , 編輯時亦是整篇取出修改後全部儲存。 隨機檔

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '將資料存入磁碟或由磁碟取出資料的方式 , 稱為檔案存取處理。 C 語言的檔案處理 C++ 語言' - adriel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
檔案

將資料存入磁碟或由磁碟取出資料的方式, 稱為檔案存取處理。

  • C語言的檔案處理
  • C++語言的檔案處理
slide2
檔案的種類

檔案依資料存取方式可分為循序檔與隨機檔, 分別說明如下:

  • 循序檔

採用整批儲存與整批取出資料的方式稱為循序檔, 此種存取模式較適合文書檔的儲存。例如, 當我們編輯一封書信時, 通常都是整篇儲存, 編輯時亦是整篇取出修改後全部儲存。

  • 隨機檔

可以指定資料位置的存取方式稱為隨機檔, 此種存取模式較適合數值資料的儲存。例如, 你可能從一堆學生資料中讀取或修改某一個人的成績。又例如, 104 的電話查號, 亦是從一大堆資料中讀取一筆資料, 此時當然沒有必要將全部資料全部載入記憶體, 而是依照自己的需求讀取指定位置的某一或某些筆資料即可, 此時即需使用隨機檔。

slide3
檔案處理的演進
  • C 語言

程序導向的C 語言是採用fopen、fclose 、fprintf、fscanf 及feof 等函式處理循序或隨機檔案, 請看15-1 節。

  • C + + 語言

物件導向的C++ 語言是採用ifstream 、ofstream 等類別的方式處理循序或隨機檔案, 請看15-2 節。

  • C++ Builder

C++ Builder 則是採用資料庫元件的方式處理檔案, 由於資料庫元件已有長足的進步, 所以本書於第16 ~22 章大力介紹這些資料庫元件。關於C 與C++ 的檔案處理則僅以循序檔簡介, 讀者可於此體會這些程式語言的演進。

15 1 c
15 -1 C 語言的檔案處理
  • C 語言常用的檔案處理函式, 分別是fopen 、fclose 、fprintf 、fscanf 、feof、fseek 、fwrite 、fread、fileno 、filelength 及sizeof 等函式, 使用這些函式前應匯入stdio.h, 如下所示。

#include <stdio.h>

fopen
fopen
  • 當您欲從磁碟存取資料時, 首先必須以fopen 開啟指定的檔案, 其函式原型共有兩種多載如下, 本單元僅舉例說明第一種多載。
  • 其中mode 是開檔的模式, 所有模式如下圖所示。
  • 例如, 以下敘述可開啟test1.txt, 並準備寫入資料。

FILE *outf;

outf=fopen("c:\\BCBbook\\ch15\\test1.txt", "w");

fprintf
fprintf
  • 當您欲寫入資料至檔案時, 只要重覆使用fprintf 即可寫入資料, 其函式原型如下圖。
  • format

format 是資料的格式, 詳細如下圖。

slide7
Conversion-type character

所有的資料均應格式化才可存檔, 其格式化字元如下圖。

  • 例如, 以下敘述可寫入字串, 其中outf 是開檔時所傳回的檔案指標。

fprintf(outf, "%s", "ABC");

  • 以下敘述可寫入整數。

fprintf(outf, "%d", 25);

  • 以下敘述, 可同時寫入一個字串, 一個整數及一個浮點數。

fprint(outf, "%s %d %f", " 子堯", 90, 25.5);

fscanf
fscanf
  • 當您欲從檔案讀取資料時, 只要重覆使用fscanf 即可讀取資料, 其函式原型如下, 使用方式同fprintf 。
fclose
fclose
  • 將緩衝區的資料寫入磁碟, 其語法如下:

int fclose(file *stream);

  • 當寫入成功時, 傳回0。
slide10
feof
  • 傳回檔案指標是否已在檔案的最後面, 若是則傳回非零值;若否則傳回0。其語法如下:

int feof(File *stream);

15 1a
範例15-1a
  • 請寫一個程式, 可以將RichEdit 元件的內容存入檔案且能將文字檔載入RichEdit 。
1 5 2 c
1 5 -2 C ++ 語言的檔案處理
  • 眾所皆知, C++ 是物件導向的程式語言, 所以在檔案的處理亦實作了許多關於檔案的類別, 例如ofstream 、ifstream 與fstream 等類別。若要使用這些類別, 則應先匯入fstream, 如以下敘述。

#include <fstream.h>

ofstream
ofstream
  • ofstream 是專門處理資料輸出的類別, 以下兩種方式皆可建立一個fout物件, 此物件可將資料輸出至C:\BCBbook\ch15\test1.txt 。

ofstream fout ("C:\\BCBbook\\ch15\\test1.txt");

ofstream fout;

fout.open("C:\\BCBbook\\ch15\\test1.txt", ios::out);

  • 以下敘述皆可將"ABCDEF" 寫入指定的檔案。

fout.write("ABCDEF", 6);

fout << "ABCDEF";

ifstream
ifstream
  • ifstream 是專門處理資料輸入的類別, 以下敘述可建立一個fin 物件, 並將C:\BCBbook\ch15\test1.txt 的內容指派由RichEdit 元件顯示。

ifstream fin;

String ss="";

char ch;

fin.open("c:\\BCBbook\\ch15\\test1.txt", ios::in);

w h i l e ( f i n . g e t ( c h ) )

ss=ss+ch;

f i n . c l o s e ( ) ;

R i c h Ed i t 1 - >T e x t= s s ;

15 2a
範例15-2a
  • 示範C++ 的檔案處理