使用(C++庫)fstream讀寫檔案
原創+收藏
//awzzz@2002//入門計劃->使用(C++庫)fstream讀寫檔案//APO->using fstream.//accidence project of using fstream.(c++ iostream library)/* Reference: http://www.cplusplus.com/ref/iostream/fstream/ Description fstream class provides a stream interface to read and write data from/to files. The class mantains internally (privately) a pointer to a filebuf object in charge of the interaction with the file. This pointer can be obtained/modified by calling member rdbuf. The file to be processed can be specified as a parameter for the constructor or by calling member open. After a file is processed it can be closed by calling member close. In this case the file stream may be used to open another file. Member is_open can be used to determine wether the stream is currently operating on a file or not. Please refer to parent classes for more details on information mantained by an fstream object. *///使用(C++庫)fstream讀寫檔案//simple example#include <iostream>#include <fstream>using namespace std;#ifdef WIN32#define TEST_FILE "c://tmp//test.txt"#else#define TEST_FILE "/tmp/test.txt"#endifvoid test(){ { //fstream sfs; //sfs.open(TEST_FILE, ios_base::out); fstream sfs(TEST_FILE, ios_base::out); char buf[] = "1234567890"; sfs.write(buf, sizeof(buf)); sfs.close(); } { int len; char* buf; //fstream sfs; //sfs.open(TEST_FILE); fstream sfs(TEST_FILE); sfs.seekg (0, ios::end); len = sfs.tellg(); sfs.seekg (0, ios::beg); buf = new char[len]; sfs.read(buf, len); cout << buf << endl; delete []buf; sfs.close(); }}int main(int argc, char* argv[]){ test(); return 0;}
Add by : DevEduSiteMaster (2005-4-19:01:26) </div>
<div id=">================================================</div>
<div id=">
c++檔案讀寫對象,二進位方式和文本方式對比 gaobaolu 發表於 2007-5-21 12:17:00 |
| c++檔案讀寫對象,二進位方式和文本方式對比 //baolu_gao@163.com //測試檔案讀寫的二進位形式和文本形式的區別 //該例兩種情況結果沒有區別,只是文本方式下把10轉化成13,10,即16進位0A變為0D OA #i nclude <fstream> #i nclude <iostream> using namespace std; class Dog { private: int weight; int age; public: Dog(int x=0,int y=0) { weight = x; age = y; } void displayDetails() { cout << weight << "," << age <<endl; } }; int main() { Dog dog1(5,10); //ofstream fout("dogs.dat"); ofstream fout("dogs.dat",ios_base::binary); fout.write((char *) &dog1,sizeof(dog1)); fout.close(); Dog dog2; //ifstream fin("dogs.dat"); ifstream fin("dogs.dat",ios_base::binary); fin.read((char *) &dog2,sizeof dog2); dog2.displayDetails(); fin.close(); system("pause"); return 0; } |
|