c++文件操作(基于黑马)

文件操作

程序运行的数据属于临时数据,一旦结束就释放。
所以需要通过文件将数据持久化

c++ 文件操作包含头文件

文件类型:
1.文本文件 :ASCII码存储
2.二进制文件

操作文件的三大类:
1.ofstream 写操作
2.ifstream 读操作
3.fstream 读写操作

写文件

文本文件
1.包含头文件 #include
2.创建流对象 ofstream ofs;
3.打开文件 ofs.open(“文件路径”,打开方式);
4.写数据 ofs << “写入的数据”;
5.关闭文件 ofs.close();

文件打开方式
在这里插入图片描述
使用程序:

//1.包含头文件 
#include <fstream>
#include <stdio.h>
#include <iostream>
using namespace std;
void test01(){
	//2.创建流对象
	ofstream ofs;
	//3.指定打开方式 
	ofs.open("test.txt",ios::out);
	//4.写内容
	ofs<<"姓名:张三"<<endl;
	//5.关闭文件 
	ofs.close(); 
}
int main(){
	test01();
	return 0;
}

## ```读文件
步骤:
1.包含头文件 
2. 创建流对象
ifstream ifs;
3. 打开文件并且判断文件是否打开成功
  ifs.open("文件路径","打开方式");
4. 读数据       四种读取方式
5. 关闭文件

```cpp
//1.包含头文件 
#include <fstream>
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
void test01(){
	//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};
//	while(ifs.getline(buf,sizeof(buf)))
	//	cout <<buf;
    //第三种 
    //string buf;
    //while(getline(ifs,buf))
    //cout <<buf<<endl;
   //第四种不建议 
     char c;
	 while((c = ifs.get())!=EOF)//文件尾标志 
	 cout << c; 
	//5.关闭文件 
	ifs.close(); 
}
int main(){
	test01();
	return 0;
}

二进制文件

打开方式指定为ios::binary

写文件
在这里插入图片描述

代码:

#include <iostream>
#include <stdio.h>
#include <fstream>
using namespace std;
//二进制文件   写文件  
class Person{
	
	public :
		char m_Name[64];//姓名 
		int m_Age;//年龄 
};
void test01(){
	//创建输出流对象 
	ofstream ofs;
	//打开文件 
	ofs.open("person.txt",ios::out  |  ios :: binary);
    Person p ={"张三",18};
    //写文件,最好char数组 
	ofs.write( (const char *)&p ,sizeof(Person) );
    //关闭文件 
	ofs.close(); 
}
int main(){
	test01();
	
	return 0;
} 

读文件
在这里插入图片描述

代码

#include <iostream>
#include <stdio.h>
#include <fstream>
using namespace std;
//二进制文件   读文件  
class Person{
	
	public :
		char m_Name[64];//姓名 
		int m_Age;//年龄 
};
void test01(){
	//创建输出流对象 
	ifstream ifs;
	//打开文件 ,判断是否打开成功 
	ifs.open("person.txt",ios::in  |  ios :: binary);
    if(!ifs.is_open())
    {
    	cout <<"文件打开失败"; 
    	return ;
	}
	Person p ;
    //读文件,最好char数组 
	ifs.read( ( char *)&p ,sizeof(Person) );
	cout <<"姓名:"<<p.m_Name<<endl;
	cout <<"年龄:"<<p.m_Age<<endl; 
    //关闭文件 
	ifs.close(); 
}
int main(){
	test01();
	
	return 0;
} 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Dev C++是一个集成开发环境(IDE),用于C和C++编程。它提供了许多功能和工具,包括文件操作。下面是一些关于Dev C++文件操作的介绍: 1. 打开文件:使用`fopen`函数可以打开一个文件。例如,要打开一个名为"example.txt"的文本文件,可以使用以下代码: ```c FILE *file = fopen("example.txt", "r"); ``` 这将返回一个指向文件的指针。 2. 关闭文件:使用`fclose`函数可以关闭一个已打开的文件。例如,要关闭之前打开的文件,可以使用以下代码: ```c fclose(file); ``` 3. 读取文件内容:使用`fscanf`函数可以从文件中读取内容。例如,要从文件中读取一个整数,可以使用以下代码: ```c int num; fscanf(file, "%d", &num); ``` 4. 写入文件内容:使用`fprintf`函数可以向文件中写入内容。例如,要向文件中写入一个字符串,可以使用以下代码: ```c fprintf(file, "Hello, World!"); ``` 5. 检查文件结尾:使用`feof`函数可以检查是否已到达文件的结尾。例如,要检查是否已到达文件的结尾,可以使用以下代码: ```c if (feof(file)) { printf("已到达文件结尾\n"); } ``` 6. 检查文件是否成功打开:在打开文件时,可以检查返回的文件指针是否为NULL,以确定文件是否成功打开。例如,可以使用以下代码: ```c if (file == NULL) { printf("无法打开文件\n"); } ``` 这些是Dev C++文件操作的基本介绍。你可以使用这些函数来读取和写入文件内容。如果你有其他关于Dev C++文件操作的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值