ofstream和ifstream的詳細用法
ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間;
ofstream:檔案寫操作 記憶體寫入儲存裝置
ifstream:檔案讀操作,儲存裝置讀區到記憶體中
fstream:讀寫操作,對開啟的檔案可進行讀寫操作
在C++中,有一個stream這個類,所有的I/O都以這個“流”類為基礎的,包括我們要認識的檔案I/O,stream這個類有兩個重要的運算子: 1、插入器(<<)向流輸出資料。比如說系統有一個預設的標準輸出流(cout),一般情況下就是指的顯示器,所以,cout<<"Write Stdout"<<'\n';就表示
從流中輸入資料。比如說系統有一個預設的標準輸入流(cin),一般情況下就是指的鍵盤,所以,cin>>x;就表示從標準輸入流中讀取一個指定型別(即變數x的型別)的資料。 在C++中,對檔案的操作是通過stream的子類fstream(file stream)來實現的,所以,要用這種方式操作檔案,就必須加入標頭檔案fstream.h。下面就把此類的檔案操作過程一一道來。
bool MyGame::isFileExist(const char *path) { FILE *fp = fopen(path, "r");//r表示只讀檔案 bool bRet = false; if (fp) { bRet = true; fclose(fp); } return bRet; }
void MyGame::saveGameData(bool playing, char *gridData, int maxScore, int level, int currentLevelBeginScore, int score){ ofstream ofs(m_gameDataPath.c_str()); if (ofs.is_open()) { ofs<<maxScore<<" "<<level<<" "<<currentLevelBeginScore<<" "<<score<<" "<<playing<<" "; if (playing) { for(int i = 0; i < GameScene::GRID_COUNT_LANDSCAPE * GameScene::GRID_COUNT_PORTRAIT; i++){ ofs<<gridData[i]<<" "; } } ofs.close(); } }
<pre name="code" class="cpp">void MyGame::openGameScene(bool recover){
bool playing = false;
char gridData[GameScene::GRID_COUNT_LANDSCAPE * GameScene::GRID_COUNT_PORTRAIT];
int maxScore = 0;
int level = 1;
int currentLevelBeginScore = 0;
int score = 0;
if (isFileExist(m_gameDataPath.c_str()))
{
ifstream ifs(m_gameDataPath.c_str());
if (ifs.is_open())
{
ifs>>maxScore;
ifs>>level>>currentLevelBeginScore>>score>>playing;
if (!playing)
{
maxScore= maxScore < score ? score : maxScore;
}
if (recover)
{
if (playing)
{
for(int i = 0; i < GameScene::GRID_COUNT_LANDSCAPE * GameScene::GRID_COUNT_PORTRAIT; i++){
ifs>>gridData[i];
}
}
}else{
level = 1;
currentLevelBeginScore=0;
score=0;
playing = false;
}
ifs.close();
}
}
}
相關推薦
【C++】C++ 檔案讀寫 ofstream和ifstream詳細用法
此文貌似值得一讀:https://www.cnblogs.com/hdk1993/p/5853233.html 原文自:https://www.cnblogs.com/batman425/p/3179520.html 原文出自【位元網】,轉載請保留原文連結
ofstream和ifstream詳細用法
ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間;在C++中,有一個stream這個類,所有的I/O都以這個“流”類為基礎的,包括我們要認識的檔案I/O,stream這個類有兩個重要的運算子:1、插入器(<<) 向
C++ ofstream和ifstream詳細用法以及C語言的file用法
ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間; 在C++中,有一個stream這個類,所有的I/O都以這個“流”類為基礎的,包括我們要認識的檔案I/O,stream這個類有兩個重要的運算子: 1、插入器(&
超詳細ofstream和ifstream詳細用法
ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間(文章最末尾附上了MSDN中關於這兩個函式的解釋);在C++中,有一個stream這個類,所有的I/O都以這個“流”類為基礎的,包括我們要認識的檔案I/O,stream這個類有兩個重要的運算子: 1
【轉載】C++ ofstream和ifstream詳細用法
原文出自【位元網】,轉載請保留原文連結:http://soft.chinabyte.com/database/460/11433960.sh ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間; 在C++中,有一個s
C++ ofstream和ifstream詳細用法
void main( void ) {//利用ofstream類的建構函式建立一個檔案輸出流物件來開啟檔案 ofstream fout( "d:\\mytest.txt" ); if ( ! fout){cout << "檔案不能開啟" <<endl;}else{// 輸出到磁碟檔案
ofstream和ifstream的用法
ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體中。 一、開啟檔案 在fstream類中,有一個成員函式open(),就是用來開啟檔案的,其原型是: void open(const char* filename,int m
ofstream和ifstream的詳細用法
ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間; ofstream:檔案寫操作 記憶體寫入儲存裝置 ifstream:檔案讀操作,儲存裝置讀區到記憶體中 fstream:讀寫操作,對開啟的檔案可進行讀寫操作 在C
總結:ofstream和ifstream用法
ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體。函式說明:1、開啟檔案在fstream類中,成員函式open(),就是用來開啟檔案的,其原型是: void open(const char* filename,int mode,int access)
ofstream 和ifstream的具體用法
#include <iostream> #include <fstream> using namespace std; int main() { int n[5] = {1, 2, 3, 4, 5}; register int i; ofstream out("test", ios::
ofstream和ifstream 讀寫檔案
#include <iostream> using namespace std; #include <fstream> void main() {
[Python開發]Python中struct.pack()和struct.unpack()用法詳細說明
python中的struct主要是用來處理C結構資料的,讀入時先轉換為Python的字串型別,然後再轉換為Python的結構化型別,比如元組(tuple)啥的~。一般輸入的渠道來源於檔案或者網路的二進位制流。 1.struct.pack()和struct.unpack() 在轉化
JavaScript筆記:最詳細的call函式和apply函式用法總結
昨天聽了一堂直播,裡面有教到關於forEach函式的原始碼編寫,提到了call()和apply()函式,有點懵,這才發現之前我學的太快了,有很多細節沒有注意,當進行實戰時才發現漏了一些東西,現在開始查漏補缺。 今天就好好總結一下call()和apply()方法的應用。首先,這兩個函式
Python中struct pack 和struct unpack 用法詳細說明
python中的struct主要是用來處理C結構資料的,讀入時先轉換為Python的字串型別,然後再轉換為Python的結構化型別,比如元組(tuple)啥的~。一般輸入的渠道來源於檔案或者網路的二進位制流。1.struct.pack()和struct.unpack()在轉化過
SQL中UNION和UNION ALL的詳細用法
在開發中,有些資料的儲存可能涉及到分庫分表,查詢的時候,可能需要查詢所有的分表,這個時候,就需要用到UNION或者UNION ALL,下面介紹一下UNION的用法以及與UNION ALL的區別: UNION操作符用於合併兩個或多個SELECT語句的結果集,這裡需要注意的是:
c++中ifstream,ofstream和fstream的使用方法
一、C++中IO庫型別 c++中的IO庫型別和標頭檔案如下: 各種IO庫型別對應的繼承關係為: 型別ifsream和istringstream都繼承自istream; 型別ofsream和ostringstream都繼承自ostream; 型別fs
iOS NSAttributedString和NSMutableAttributedString、NSMutableParagraphStyle的詳細用法
NSAttributedString,NSMutableAttributedString是帶屬性的特殊字串,NSMutableParagraphStyle是帶屬性的文字段落屬性,用於控制段落有關屬性(行間距,文字縮排等等)。 1、NSAttributedStr
sql語句中的 in 、not in 、exists、not exists 詳細用法說明和差別----not in失效
來看下面這樣一條SQL語句: select * from student where 20 < all (select score from student) 其中,(select score from student)返回的是所有分數的記錄集 只有當記錄集中的所有分數都大於20後,才會執行前面的SQ
git的詳細用法和基礎教程
Git 是當前最流行的版本控制程式之一,文字包含了 Git 的一些基本用法 建立 git 倉庫 初始化 git 倉庫 mkdir project # 建立專案目錄 cd project # 進入到專案目錄 git init # 初始化 git 倉
C++ 中ofstream與ifstream用法
在C++中,有一個stream這個類,所有的I/O都以這個“流”類為基礎的,包括我們要認識的檔案I/O,stream這個類有兩個重要的運算子: 1、插入器(<<) 向流輸出資料。比如說系統有一個預設的標準輸出流(cout),一般情況下就是指的顯示器,所