柚子快報邀請碼778899分享:開發(fā)語言 【C++】二進制文件
以二進制方式對文件進行讀寫操作
打開方式要指定為----ios::binary-----
寫文件
二進制方式寫文件主要利用流對象調(diào)用成員函數(shù)write
函數(shù)原型:ostream& write(const char * buffer,int len);
參數(shù)解釋:字符指針buffer指向內(nèi)存中一段存儲空間。len是讀寫的字節(jié)數(shù)
#include
using namespace std;
#include
#include
class Person {
public:
char m_Name[64];
int m_Age;
};
//二進制文件 寫文件
void test()
{
//1、包含頭文件
//2、創(chuàng)建輸出流對象
ofstream ofs("person.txt", ios::out | ios::binary);
//3、打開文件
//ofs.open("person.txt", ios::out | ios::binary);
Person p = { "張三",19 };
//4、寫文件
ofs.write((const char*)&p, sizeof(p));
//5、關閉文件
ofs.close();
}
int main()
{
test();
system("pause");
return 0;
}
總結:
文件輸出流對象可以通過write函數(shù),以二進制方式寫數(shù)據(jù)
讀文件
二進制方式讀文件主要利用流對象調(diào)用成員函數(shù)read
函數(shù)原型:istream& read(char *buffer,int len);
參數(shù)解釋:字符指針buffer指向內(nèi)存中的一段存儲空間。len是讀寫的字節(jié)數(shù)
#include
using namespace std;
#include
#include
class Person {
public:
char m_Name[64];
int m_Age;
};
//二進制文件 寫文件
void test()
{
//1、包含頭文件
//2、創(chuàng)建輸出流對象
ifstream ifs("person.txt", ios::in | ios::binary);
//3、打開文件
//ofs.open("person.txt", ios::out | ios::binary);
if (!ifs.is_open())
{
cout << "文件打開失敗" << endl;
}
Person p;
ifs.read((char*)&p, sizeof(p));
cout << "姓名:" << p.m_Name << "年齡:" << p.m_Age << endl;
}
int main()
{
test();
system("pause");
return 0;
}
文件輸入流對象可以通過read函數(shù),以二進制方式讀數(shù)據(jù)
柚子快報邀請碼778899分享:開發(fā)語言 【C++】二進制文件
好文閱讀
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。