《C++程序设计(第4版)》课本例题13.10:对ASCII文件的操作

该文章展示了一个C++程序,包括两个函数save_to_file()和get_from_file()。save_to_file()从键盘读取一行字符,将其中的字母保存到f2.dat,而get_from_file()从f2.dat读取字母,将小写字母转为大写字母并写入f3.dat。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下为课本例题:

//《C++程序设计(第4版)》课本例题13.10 :对ASCII文件的操作
#include <iostream>
#include <fstream>
using namespace std;

//save_to_file函数从键盘读入一行字符并将其中的字母存入磁盘文件
void save_to_file()
{
	ofstream outfile("f2.dat");
		//定义输出文件流对象 outfile,以输出方式打开磁盘文件f2.dat
	if (!outfile) {
		cerr << "open f2.dat error!\n";
		exit(1);
	}
	char c[80]{};
	cin.getline(c, 80);					//从键盘读入一行字符
	for (int i = 0; c[i] != 0; i++) {	//对字符逐个处理,直到遇到0为止
		if (c[i] >= 'a' && c[i] <= 'z' || c[i]>='A' && c[i] <= 'Z')	//如果是字母字符
		{
			outfile.put(c[i]);			//将字母字符存入磁盘文件f2.dat
			cout << c[i];				//同时送显示器显示
		}
	}
	cout << endl;
	outfile.close();					//关闭f2.dat
}	


//从磁盘文件f2.dat读入字母字符,将其中小写字母改为大写字母,再存入f3.dat
void get_from_file() {
	char ch = 0;
	ifstream infile("f2.dat", ios::in | ios::_Nocreate);
		//定义输入文件流outfile,以输入方式打开磁盘文件f2.dat
	if (!infile) {
		cerr << "open f2.dat error!\n";
		exit(1);
	}
	ofstream outfile("f3.dat");
		//定义输出文件流outfile,以输出方式打开磁盘文件f3.dat
	if (!outfile) {
		cerr << "open f3.dat error!\n";
		exit(1);
	}
	while (infile.get(ch)) {			//当读取字符成功时执行
		if (ch >= 'a' && ch <= 'z')		//判断ch是否为小写字母
			ch -= 32;					//小写->大写
		outfile.put(ch);				//将大写字母存入磁盘f3.dat
		cout << ch;						//同时在显示器输出
	}
	cout << endl;
	infile.close();						//关闭磁盘文件f2.dat
	outfile.close();					//关闭磁盘文件f3.dat
}


int main() {
	save_to_file();
		//调用save_to_file(),从键盘读入一行字符并将其中字母存入f2.dat
	get_from_file();
		//调用get_from_file(),从f2.dat读入字母字符,改为大写字母,存入f3.dat
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值