c++的文件读写

#include<iostream>
#include<string>
//1:引入头文件
#include<fstream>
using namespace std;
//把程序中的信息输出到缓冲区,然后写到文件
void test01()
{
	//2:定义流对象
	ofstream ofs;
	//3:打开文件,以写的方式打开,如果没有文件,就创建
	ofs.open("test.txt", ios::out | ios::trunc);
	//4:判断是否打开成功
	if (!ofs.is_open())
	{
		cout << "打开失败" << endl;
	}
	//5:写信息
	ofs << "姓名:灰灰" << endl;;
	ofs << "年龄:20" << endl;
	//6:关闭文件
	ofs.close();//关闭文件,并刷新缓冲区
}
//把磁盘信息输入到缓冲区,然后读到程序中(读文件)
void test02()
{
	ifstream ifs;
	ifs.open("test.txt", ios::in);
	if (!ifs.is_open())
	{
		cout << "打开失败" << endl;
	}
	//第一种方式读取文件
	//一行一行读
	/*char buf[1024] = { 0 };
	while (ifs >> buf)
	{
		cout << buf << endl;
	}*/
	//第二种方式读取文件
	//char buf[1024] = { 0 };
	//while (!ifs.eof())//判断是否读到文件尾部
	//{
	//	ifs.getline(buf, sizeof(buf));
	//	cout << buf << endl;
	//}
	//第三种方式,一个一个字符读
	char c;
	while ((c = ifs.get()) != EOF)
	{
		cout << c;
	}
	ifs.close();
}

int main()
{
	test02();
	system("pause");
	return EXIT_SUCCESS;
}

c++的二进制读写

using namespace std;
class maker
{
public:
	maker()
	{

	}
	maker( const char*name,int age)
	{
		strcpy(this->name, name);
		this->age = age;


	}
	
public:
	int age;
	char name[64];
};
void test()
{
	maker m1("huihi", 20);
	maker m2("huifa",2);
	ofstream ofs;
	ofs.open("text.txt", ios::out |ios::trunc| ios::binary);
	if (!ofs.is_open())
	{
		cout << "打开失败" << endl;
	}
	//写
	ofs.write((const char*)&m1, sizeof(maker));
	ofs.write((const char*)&m2, sizeof(maker));
	ofs.close();
}
//读
void test02()
{
	ifstream ifs;
	ifs.open("text.txt", ios::in | ios::binary);
	if (!ifs.is_open())
	{
		cout << "打开失败" << endl;
	}
	//读
	maker m1;
	maker m2;
	ifs.read((char*) & m1, sizeof(maker));
	ifs.read((char*)&m2, sizeof(maker));
	cout << "name:" << m1.name << "age:" << m1.age << endl;
	cout << "name:" << m2.name << "age:" << m2.age << endl;
}
int main()
{
	test02();
	system("pause");
	return EXIT_SUCCESS;
}

相关推荐

  1. c++文件

    2023-12-05 20:34:08       36 阅读
  2. C++文件

    2023-12-05 20:34:08       45 阅读
  3. [C#]文件-1

    2023-12-05 20:34:08       36 阅读
  4. C++二进制文件

    2023-12-05 20:34:08       7 阅读
  5. C++BMP文件

    2023-12-05 20:34:08       16 阅读
  6. C语言】文件

    2023-12-05 20:34:08       22 阅读
  7. C++二进制文件

    2023-12-05 20:34:08       11 阅读
  8. 1.基于C#Dbf文件结构概述)

    2023-12-05 20:34:08       31 阅读
  9. C++利用缓冲区来提高文件效率

    2023-12-05 20:34:08       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 20:34:08       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 20:34:08       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 20:34:08       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 20:34:08       18 阅读

热门阅读

  1. 常用类与比较器

    2023-12-05 20:34:08       35 阅读
  2. Leetcode128.最长连续序列

    2023-12-05 20:34:08       32 阅读
  3. 如何保护 API 安全

    2023-12-05 20:34:08       40 阅读
  4. Diary17-Word页面设计

    2023-12-05 20:34:08       47 阅读
  5. 【lua】获取某月最大天数

    2023-12-05 20:34:08       30 阅读
  6. 【Android 线程】在子线程中更新UI

    2023-12-05 20:34:08       39 阅读
  7. spark学习一-------------------Spark算子最详细介绍

    2023-12-05 20:34:08       35 阅读
  8. 再探Docker:从Docker基础到跨服务器部署

    2023-12-05 20:34:08       24 阅读
  9. SSL证书认证对搜索引擎有影响吗?

    2023-12-05 20:34:08       43 阅读