C++文件操作

这篇具有很好参考价值的文章主要介绍了C++文件操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放

通过**文件可以将数据持久化

C++中对文件操作需要包含头文件 <fstream>

文件类型分为两种:

1. 文本文件    -  文件以文本的**ASCII码**形式存储在计算机中
2. 二进制文件 -  文件以文本的**二进制**形式存储在计算机中,用户一般不能直接读懂它们

操作文件的三大类:

1. ofstream:写操作
2. ifstream: 读操作
3. fstream : 读写操作

文本文件:

 写文件步骤如下:

1. 包含头文件   

     \#include <fstream\>

2. 创建流对象  

   ofstream ofs;

3. 打开文件

   ofs.open("文件路径",打开方式);

4. 写数据

   ofs << "写入的数据";

5. 关闭文件

   ofs.close();

#include<iostream>
using namespace std;
#include<fstream>//头文件包含
//文本文件 写文件
void test01()
{
	//1.包含头文件 fstream
	//2.创建流对象

	ofstream ofs;
	//3.指定打开方式
	ofs.open("test.txt", ios::out);
	//4.写内容
	ofs << "姓名:张三" << endl;
	ofs << "性别:男" << endl;
	ofs << "年龄:18" << endl;
	//5.关闭文件
	ofs.close();

}



int main()
{
	test01();
	system("pause");
	return 0;
}

 然后在程序所在文件夹下就会生成相应的test.txt

C++文件操作

 读文件

注意:读数据这里有四种方法

#include<iostream>
using namespace std;
#include<fstream>
#include<string>
//文本文件 读文件
void test01()
{
	//1.包含头文件


	//2.创建流对象
	ifstream ifs;
	//3.打开文件 并且判断是否打开成功
	ifs.open("test.txt", ios::in);
	if (!ifs.is_open())//判断是否打开成功
	{
		cout << "文件打开失败" << endl;
		return;
	}
	//4.读数据
		//第一种
	//char buf[1024] = { 0 };
	//while (ifs >> buf)
	//{
	//	cout << buf << endl;
	//}
		//第二种
	//char buf[1024] = { 0 };
	getline获取一行
	//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)//EOF  end of file 
	{
		cout << c;
	}
	//5.关闭文件
	ifs.close();
}



int main()
{
	test01(); 
	system("pause");
	return 0;
}

二进制文件

写文件

二进制方式写文件主要利用流对象调用成员函数write

函数原型 :`ostream& write(const char * buffer,int len);`

参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数

文件输出流对象 可以通过write函数,以二进制方式写数据
 

#include<iostream>
using namespace std;
#include<fstream>
//二进制文件 写文件
class Person
{
public:
	char m_Name[64];//姓名
	int m_Age;//年龄

};
void test01()
{
	//1.包含头文件
	//2.创建流对象
	ofstream ofs;
	//3.打开文件
	ofs.open("person.txt", ios::out | ios::binary);
		//4.写文件
	Person p = { "张三",18 };
	ofs.write((const char*)&p, sizeof(Person));
	//5.关闭文件
	ofs.close();
}


int main()
{
	test01();
	system("pause");
	return 0;
}


C++文件操作

 读文件

二进制方式读文件主要利用流对象调用成员函数read

函数原型:`istream& read(char *buffer,int len);`

参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数
 

#include<iostream>
using namespace std;
#include<fstream>
//二进制文件 写文件
class Person
{
public:
	char m_Name[64];//姓名
	int m_Age;//年龄

};


void test02()
{
	//1.包含头文件
	
	//2.创建流对象
	ifstream ifs;
	//3.打开文件 判断文件是否打开成功
	ifs.open("person.txt", ios::in | ios::binary);
	if (!ifs.is_open())
	{
		cout << "文件打开失败" << endl;
		return;
	}
	//4.读文件
	Person p;
	ifs.read((char*)&p, sizeof(Person));
	cout << "姓名:" << p.m_Name << " 年龄:" << p.m_Age << endl;
	//5.关闭文件
	ifs.close();
}

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

 文章来源地址https://www.toymoban.com/news/detail-422924.html

C++文件操作

 

到了这里,关于C++文件操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Visual C++ 2010编写运行第一个C++程序

    本文主要介绍Visualc++ 2010学习版的操作界面,创建一个Win32控制台项目,编写并运行自己的第一个C++程序。主要包括以下几个方面: Visual C++ 2010概述 Visual C++ 2010下载安装 Visual C++ 2010操作界面 创建Win32控制台项目 编写C++程序 运行程序 本文使用的软件版本: Windows 10 Visual C++

    2024年02月05日
    浏览(56)
  • C语言程序设计:某班有5名同学,建立一个学生的简单信息表,包括学号、姓名、3门课程的成绩,编写程序,计算每名学生的平均成绩及名次。

    题目内容: 某班有5名同学,建立一个学生的简单信息表,包括学号、姓名、3门课程的成绩,编写程序,计算每名学生的平均成绩及名次。(注:定义一个结构体类型,用结构指针作为函数参数) 输入格式: %ld %s %f %f %f 输出格式: %-9ld%-10s%-5.1f%-5.1f%-8.1f%-10.1f%-dn 输入样例:

    2024年02月02日
    浏览(42)
  • 【C++】STL 算法概念和分类 ( STL 算法头文件 | STL 算法思想 - 数据与算法分离 | STL 算法 迭代器 | STL 算法 操作对象 | STL 算法分类 )

    标准模板库 STL 算法 都定义在 algorithm , numeric 和 functional 三个头文件中 ; 使用 STL 标准模板库 算法时 , 导入上述 3 个头文件 , 导入时根据需求导入即可 , 不必都导入 ; algorithm 头文件 是 3 个 STL 算法头文件中 包含算法最多的一个 , 包含常用的 : 比较算法、交换算法、查找算法

    2024年01月21日
    浏览(52)
  • 【ROS学习】节点运行管理launch文件的基本操作

    launch文件的概念和作用 launch 文件是一个 XML 格式的文件,可以启动本地和远程的多个节点,还可以在参数服务器中设置参数。 launch文件的作用是:简化节点的配置与启动,提高ROS程序的启动效率。 使用场景 launch文件在ros中使用还是比较广泛的,比如:一个程序中可能需要启

    2024年02月06日
    浏览(41)
  • 如何在linux(ubantu)操作系统运行c语言文件

    关于linux的其他文章: ​1.linux命令、vi命令、vim命令、shell语法(完整详细) 2.linux(ubantu)系统如何安装vim编辑器以及如何使用vim 3.如何在linux(ubantu)操作系统运行c语言文件 4.如何在Linux(ubantu)系统通过c程序将文档1指定内容替换到文档2的指定内容 5.如何在Linux(ubantu)系统

    2023年04月08日
    浏览(42)
  • c++文件操作 (1) -- 读写文件

    目录 为什么使用文件操作 文件输入流和输出流 -- 相对于内存而言 文件操作  1. 文件操作常用类以及头文件 2. 文件输入流(写文件操作)  1. 写文本文件  1)文件操作是使用对象来实现的  2)文件输出  3)打开文件  open函数 : 2. 读文本文件  3. 写二进制文件   4. 读二进制

    2024年01月25日
    浏览(45)
  • 【C++】C++核心编程(十一)文件操作

      程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化。    C++中对文件进行操作需要包含头文件 fstream   文件类型分为两种:     1、文本文件—文件以文本的ASCII码形式存储在计算机中;     2、二进制文件—

    2024年02月09日
    浏览(39)
  • C++文件操作,超级详细

    FILE 结构体:FILE 结构体是 C 语言中用于表示文件的结构体,可以通过标准库函数 fopen()、fclose()、fread()、fwrite() 等函数进行文件操作。 fstream 类:C++ 中的文件操作类,提供了 ifstream、ofstream 和 fstream 三个子类,分别用于进行文件的读取、写入和读写操作。 cstdio 头文件:C++

    2024年02月14日
    浏览(35)
  • C++核心编程——文件操作

    本专栏记录C++学习过程包括C++基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下, 不定时更新,欢迎关注 。 当前章节处于: ---------第1阶段-C++基础入门 ---------第2阶段实战-通讯录管理系统, ===== 第3阶段-C++核心编程 , -------

    2024年01月17日
    浏览(39)
  • C++文件操作

    程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过**文件可以将数据持久化 C++中对文件操作需要包含头文件 fstream 文件类型分为两种: 1. 文本文件    -  文件以文本的**ASCII码**形式存储在计算机中 2. 二进制文件 -  文件以文本的**二进制**形式存储

    2023年04月23日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包