Chapter 7 2
Download
1 / 23

Chapter 7-2 - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

Chapter 7-2. 檔案管道. 為何要使用檔案 (files) ?. 之前談過,當宣告單一變數來輸入全班成績時 (chi,eng,math,avg,sum…) ,前一位同學的成績將被後一位同學的成績給覆蓋掉,無法查詢之前的個人成績 使用陣列後,查詢之前的成績已非難事,然而,無論是陣列或單一變數,都將面臨關機後資料即流失的命運 倘若能將資料以檔案型式儲存在磁碟中,即使關機也不怕資料流失. 如何將資料存入與讀出磁碟?. C++ 提供檔案輸入/輸出的類別,稱為檔案管道函數庫 fstream.h

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 ' Chapter 7-2 ' - jarah


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
Chapter 7 2

Chapter 7-2

檔案管道


Files
為何要使用檔案(files)?

  • 之前談過,當宣告單一變數來輸入全班成績時(chi,eng,math,avg,sum…),前一位同學的成績將被後一位同學的成績給覆蓋掉,無法查詢之前的個人成績

  • 使用陣列後,查詢之前的成績已非難事,然而,無論是陣列或單一變數,都將面臨關機後資料即流失的命運

  • 倘若能將資料以檔案型式儲存在磁碟中,即使關機也不怕資料流失


如何將資料存入與讀出磁碟?

  • C++提供檔案輸入/輸出的類別,稱為檔案管道函數庫

    • fstream.h

    • fstream.h包含了iostream.h,因此,程式中含括了fstream.h後,無須再含括iostream.h

  • 類別

    • ofstream支援檔案寫入

    • ifstream支援檔案讀出

    • fstream支援檔案寫入及讀出


字串的輸入

  • 將字串寫入檔案中

    • 宣告方式

ofstream 物件名稱(檔案名稱);

ofstream outf("datafile.txt");

物件名稱可以自訂,在程式中配合插入運算子(<<)使用


字串的輸入 (續)

  • 物件名稱的用法與cout類似

outf<<"Hello !"<<endl<<"Good-bye";


字串的輸出

  • 將字串自檔案中讀出

    • 宣告方式

    • 物件名稱的用法與cin相類似

ifstream 物件名稱(檔案名稱);

ifstream inf("datafile.txt");

在程式中配合擷取

運算子(>>)使用

char buffer[80];

inf>>buffer;


字串的輸出(續)

//假如檔案開啟失敗

為何分成這麼多列?

因為,擷取運算子會將空白字元當作結束字元之故


字串的輸出(續)

  • 若要正常顯示於螢幕上,可使用getline()函數






字元的輸入

  • 將指定字元輸出至檔案的方法

    • 物件名稱<<ch;

    • 物件名稱.put(ch);



字元輸出

  • 自開啟的檔案中一次讀入一個字元給指定的字元變數的方法

    • 物件名稱.get(ch);

    • ch=inf.get();



Atoi itoa atol ltoa atof
atoi(),itoa(),atol(),ltoa(),atof()

  • stdlib.h

  • atoi()文字轉換為整數

  • atol()文字轉換為長整數

  • atof()文字轉換為浮點數

  • itoa()整數轉換為字串

  • ltoa()長整數轉換為字串


atoi(字串變數/字串)


atol(字串變數/字串)


atof(字串變數/字串)


itoa(整數變數,字串變數,進位)


ltoa(整數變數,字串變數,進位)


Homework
Homework

  • 以檔案儲存M1及M2兩個二維陣列,寫一程式讀出此檔案中的陣列,並進行陣列相加(M1+M2),將結果存入M3陣列中,並於螢幕顯示其結果


ad