c++中數據流 (1)

今天在c++讀寫文件時遇到了一個問題,在這個上面遇到了解決方案,還得多多學習流機制啊。

http://zhidao.baidu.com/question/24192048.html&__bd_tkn__=75b4466937389f3854539374a1a56bb2c706a5a78078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157a58fc3b9f67adf040491fc7006f3209a435bc7a3e039d007d5fcb8dd64a427a74283b29cb630b304eb7a5ad940ceabbc9db8e0cce3d2bf64d

       數據流是建立在面向對象基礎上的一種抽象的處理數據的工具。在流中,定義了一些處理數據的基本操作,如讀取數據,寫入數據等,程序員是對流進行所有操作的,而不用關心流的另一頭數據的真正流向。流不但可以處理文件,還可以處理動態內存網絡數據等多種數據形式。如果你對流的操作非常熟練,在程序中利用流的方便性,寫起程序會大大提高效率的。

  在C++中,有一個stream這個類,所有的I/O都以這個“流”類爲基礎的,包括我們要認識的文件I/O,stream這個類有兩個重要的運算符:

  1、插入器(<<)
  向流輸出數據。比如說系統有一個默認的標準輸出流(cout),一般情況下就是指的顯示器,所以,cout<<"Write Stdout"<<'\n';就表示把字符串"Write Stdout"和換行字符('\n')輸出到標準輸出流。
  2、析取器(>>)
  從流中輸入數據。比如說系統有一個默認的標準輸入流(cin),一般情況下就是指的鍵盤,所以,cin>>x;就表示從標準輸入流中讀取一個指定類型(即變量x的類型)的數據。
 

在C++中,對文件的操作是通過stream的子類fstream(file stream)來實現的,所以,要用這種方式操作文件,就必須加入頭文件fstream.h。

一、文件定位
  和C的文件操作方式不同的是,C++ I/O系統管理兩個與某文件相聯繫的指針

一個是讀指針,它說明輸入操作在文件中的位置;另一個是寫指針,它指向下次寫操作的位置。每次執行輸入或輸出時,相應的指針自動變化。

二、EOF()函數
  成員函數eof()用來檢測是否到達文件尾,如果到達文件尾返回非0值,否則返回0。原型是int  eof() ;通過流對象調用該函數(方法);

  例: if(in.eof())ShowMessage("已經到達文件尾!");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章