最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++文件讀寫(xiě)操作詳解

 更新時(shí)間:2022年04月27日 11:06:14   作者:農(nóng)碼一生  
本文詳細(xì)講解了C++讀寫(xiě)文件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、讀寫(xiě)文本文件

1.1 寫(xiě)文件

寫(xiě)文件步驟如下:

  • 包含頭文件

    #include <fstream>

  • 創(chuàng)建流對(duì)象

    ofstream ofs;

  • 打開(kāi)文件

    ofs.open("文件路徑",打開(kāi)方式);

  • 寫(xiě)數(shù)據(jù)

    ofs << "寫(xiě)入的數(shù)據(jù)";

  • 關(guān)閉文件

    ofs.close();

文件打開(kāi)方式:

打開(kāi)方式解釋
ios::in為讀文件而打開(kāi)文件
ios::out為寫(xiě)文件而打開(kāi)文件
ios::ate初始位置:文件尾
ios::app追加方式寫(xiě)文件
ios::trunc如果文件存在先刪除,再創(chuàng)建
ios::binary二進(jìn)制方式

注意: 文件打開(kāi)方式可以配合使用,利用|操作符

例如:用二進(jìn)制方式寫(xiě)文件 ios::binary | ios:: out

示例:

#include <fstream>

void test01()
{
	ofstream ofs;
	ofs.open("test.txt", ios::out);

	ofs << "姓名:張三" << endl;
	ofs << "性別:男" << endl;
	ofs << "年齡:18" << endl;

	ofs.close();
}

int main() {

	test01();

	system("pause");

	return 0;
}

總結(jié):

  • 文件操作必須包含頭文件 fstream
  • 讀文件可以利用 ofstream ,或者fstream類(lèi)
  • 打開(kāi)文件時(shí)候需要指定操作文件的路徑,以及打開(kāi)方式
  • 利用 <<可以向文件中寫(xiě)數(shù)據(jù)
  • 操作完畢,要關(guān)閉文件

1.2讀文件

讀文件與寫(xiě)文件步驟相似,但是讀取方式相對(duì)于比較多

讀文件步驟如下:

  • 包含頭文件

    #include <fstream>

  • 創(chuàng)建流對(duì)象

    ifstream ifs;

  • 打開(kāi)文件并判斷文件是否打開(kāi)成功

    ifs.open("文件路徑",打開(kāi)方式);

  • 讀數(shù)據(jù)

    四種方式讀取

  • 關(guān)閉文件

    ifs.close();

示例:

#include <fstream>
#include <string>
void test01()
{
	ifstream ifs;
	ifs.open("test.txt", ios::in);

	if (!ifs.is_open())
	{
		cout << "文件打開(kāi)失敗" << endl;
		return;
	}

	//第一種方式
	//char buf[1024] = { 0 };
	//while (ifs >> buf)
	//{
	//	cout << buf << endl;
	//}

	//第二種
	//char buf[1024] = { 0 };
	//while (ifs.getline(buf,sizeof(buf)))
	//{
	//	cout << buf << endl;
	//}

	//第三種
	//string buf;
	//while (getline(ifs, buf))
	//{
	//	cout << buf << endl;
	//}

	char c;
	while ((c = ifs.get()) != EOF)
	{
		cout << c;
	}

	ifs.close();


}

int main() {

	test01();

	system("pause");

	return 0;
}

總結(jié):

  • 讀文件可以利用 ifstream ,或者fstream類(lèi)
  • 利用is_open函數(shù)可以判斷文件是否打開(kāi)成功
  • close 關(guān)閉文件

二、讀寫(xiě)二進(jìn)制文件

以二進(jìn)制的方式對(duì)文件進(jìn)行讀寫(xiě)操作

打開(kāi)方式要指定為 ios::binary

2.1 寫(xiě)文件

二進(jìn)制方式寫(xiě)文件主要利用流對(duì)象調(diào)用成員函數(shù)write

函數(shù)原型 :ostream& write(const char * buffer,int len);

參數(shù)解釋?zhuān)鹤址羔榖uffer指向內(nèi)存中一段存儲(chǔ)空間。len是讀寫(xiě)的字節(jié)數(shù)

示例:

#include <fstream>
#include <string>

class Person
{
public:
	char m_Name[64];
	int m_Age;
};

//二進(jìn)制文件  寫(xiě)文件
void test01()
{
	//1、包含頭文件

	//2、創(chuàng)建輸出流對(duì)象
	ofstream ofs("person.txt", ios::out | ios::binary);
	
	//3、打開(kāi)文件
	//ofs.open("person.txt", ios::out | ios::binary);

	Person p = {"張三"  , 18};

	//4、寫(xiě)文件
	ofs.write((const char *)&p, sizeof(p));

	//5、關(guān)閉文件
	ofs.close();
}

int main() {

	test01();

	system("pause");

	return 0;
}

總結(jié):

  • 文件輸出流對(duì)象 可以通過(guò)write函數(shù),以二進(jìn)制方式寫(xiě)數(shù)據(jù)

2.2 讀文件

二進(jìn)制方式讀文件主要利用流對(duì)象調(diào)用成員函數(shù)read

函數(shù)原型:istream& read(char *buffer,int len);

參數(shù)解釋?zhuān)鹤址羔榖uffer指向內(nèi)存中一段存儲(chǔ)空間。len是讀寫(xiě)的字節(jié)數(shù)

示例:

#include <fstream>
#include <string>

class Person
{
public:
	char m_Name[64];
	int m_Age;
};

void test01()
{
	ifstream ifs("person.txt", ios::in | ios::binary);
	if (!ifs.is_open())
	{
		cout << "文件打開(kāi)失敗" << endl;
	}

	Person p;
	ifs.read((char *)&p, sizeof(p));

	cout << "姓名: " << p.m_Name << " 年齡: " << p.m_Age << endl;
}

int main() {

	test01();

	system("pause");

	return 0;
}

文件輸入流對(duì)象 可以通過(guò)read函數(shù),以二進(jìn)制方式讀數(shù)據(jù)

到此這篇關(guān)于C++讀寫(xiě)文件的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

临汾市| 宜宾市| 和龙市| 伊宁市| 石首市| 峨眉山市| 绿春县| 隆安县| 灵川县| 汨罗市| 获嘉县| 万载县| 彭山县| 密云县| 罗源县| 庄浪县| 克山县| 钦州市| 澄江县| 永昌县| 灵台县| 葵青区| 内丘县| 侯马市| 江津市| 广饶县| 来凤县| 湛江市| 莲花县| 怀集县| 昌乐县| 保定市| 饶平县| 涿鹿县| 基隆市| 尤溪县| 阜平县| 渑池县| 达尔| 海南省| 西青区|