• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Hánina Chata

为什么不问问神奇海螺呢?
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

C++面向对象入门:实验四

一、实验目的

  1. 掌握C++文件流的基本概念和使用方法;

  2. 学会使用ifstream和ofstream进行文件的读写操作;

  3. 理解文本文件和二进制文件的区别和操作方式;

  4. 掌握文件打开模式(如ios::app追加)的应用。

二、实验内容

1.输入并编译程序,运行出结果,并解释每行语句作用。

//读取hello.txt文件中的字符串,写入out.txt中
#include<fstream>
#include<iostream>
#include<string>
using namespace std;
int main(){
	ifstream myfile("hello.txt");//创建输入文件流,打开hello.txt文件
	char buf[1024]={0};//定义字符缓冲区并初始化为0
	cout<<"hello.txt文件的内容是:"<<endl;//输出提示信息
	while(myfile>>buf){cout<<buf<<endl;}//逐词读取文件内容并显示
	ofstream outfile("out.txt",ios::app);//创建输出文件流
	string temp;//定义字符串变量存储每行内容
	if(!myfile.is_open()){cout<<"未成功打开文件"<<endl;}//检查文件是否打开成功
	while(getline(myfile,temp)){//逐行读取原文件内容
		outfile<<temp;//将每行内容写入目标文件
		outfile<<endl;}//写入换行符
	myfile.close();//关闭输入文件
	outfile.close();//关闭输出文件
	ifstream outfileread("out.txt");//输出提示信息
	cout<<"out.txt文件的内容是:"<<endl;//逐词读取输出文件内容
	while(outfileread>>buf){
		cout<<buf<<endl;}//显示
	return 0;
}

运行结果

hello.txt文件的内容是:
未成功打开文件
out.txt文件的内容是:

2.输入并编译程序,运行出结果,并解释每行语句作用。

#include<fstream>
#include<iostream>
#include<string>
using namespace std;
class car{//定义汽车类
public:
	char number[20];//汽车序列号
	char type[20];//汽车品牌
	int weight;//汽车重量
};
int main(){
	//文本文件打开方式设为可读写
	FILE *pFile=fopen("a.txt","w");//使用C语言方式打开文件,写入模式
	car car1;//创建汽车对象
	//char a[10];
	cout<<"请输入汽车序列号:"<<endl;
	//写入文件中
	cin>>car1.number;//读取序列号
	fwrite(car1.number,1,strlen(car1.number),pFile);//写入文件
	fwrite("\r\n",1,2,pFile);//写入换行符
	cout<<"请输入汽车品牌:"<<endl;
	cin>>car1.type;//读取品牌
	fwrite(car1.type,1,strlen(car1.type),pFile);//写入文件
	fwrite("\r\n",1,2,pFile);//写入换行符
	cout<<"请输入汽车重量:"<<endl;
	cin>>car1.weight;//读取重量
	char Tweight[10];//定义字符数组存储转换后的重量
	_itoa_s(car1.weight,Tweight,sizeof(Tweight),10);//整数转换为字符串
	strcat(Tweight,"斤");//添加单位
	fwrite(Tweight,1,strlen(Tweight),pFile);//写入重量信息
	fclose(pFile);//关闭文件
	ifstream ifs;//创建C++输入文件流
	//打开文件,判断是否打开成功
	ifs.open("a.txt",ios::in);//以读取模式打开文件
	if(!ifs.is_open()){//检查文件是否打开成功
	cout<<"文件打开失败!"<<endl;
		return 0;}
	char buf[1024]={0};//定义读取缓冲区
	cout<<"汽车的序列号、品牌、重量分别是:"<<endl;
	while(ifs>>buf){//逐词读取文件内容
		cout<<buf<<endl;}//显示
		return 0;
}

运行结果 参考示例(数值可以自己修改,这里随便写的)

请输入汽车序列号:
12
请输入汽车品牌:
abc
请输入汽车重量:
1500斤
汽车的序列号、品牌、重量分别是:
12
abc
1500斤
  1. 在文件末尾写入数据:假设mytext.tex文件中已有数据(用记事本打开显示8888)编程实现在其末尾写入1到10的整数,从原来的 8888 变为 8888 1 2 3 4 5 6 7 8 9 10
#include<iostream>
#include<fstream>
using namespace std;
int main(){
	//以追加模式打开文件
	ofstream outFile("myfile.txt",ios::app);
	//检查文件是否成功打开
	if(!outFile){
		cout<<"文件打开失败!"<<endl;
		return 1;}
	//在文件末尾写入1~10的整数
	for(int i=1;i<=10;i++){
		outFile<<" "<<i;}
	//关闭文件
	outFile.close();
	cout<<"成功在文件末尾写入数据!"<<endl;
	return 0;
}

三、实验总结

通过本次实验,我学习了C++文件的输入输出,掌握了文件流的基本操作、理解文件打开、读写、关闭的流程。还理解了不同文件的打开模式,学会使用ios::app追加模式和ios::in读取模式等,让我对C++文件操作有了更全面的认识。

By @哈娜Official(HanaNováčková:https://www.cnblogs.com/hanina-chata/p/19548205)

posted on 2026-01-30 21:04  HanaNováčková  阅读(0)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3