牛骨文教育服务平台(让学习变的简单)
博文笔记

C++对ASCII文件的操作例子

创建时间:2013-12-11 投稿人: 浏览次数:1489

从键盘读入一行字符,把其中的字母字符依次放在磁盘文件f2.dat中,再把它从磁盘文件读入程序,将其中的小写字母改写成大写字母,再存入磁盘文件f3.dat.

code:

#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
//save_to_file函数从键盘读入一行字符,并将其中的字母存入磁盘文件
void save_to_file()
{
	ofstream outfile("f2.dat");
	//定义输出文件流对象outfile,以输出方式打开磁盘文件f2.dat
	if(!outfile)
	{
		cerr<<"open f2.dat error!"<<endl;
		exit(1); 
	} 
	char c[80];
	cout<<"please input something:"<<endl; 
	cin.getline(c,80);		//从键盘输入一行字符 
	for(int i=0;c[i]!=0;i++)//对字符逐个处理,直到遇到"/0"为止	
	{
		if(c[i]>=65&&c[i]<=90||c[i]>=97&&c[i]<=122)//如果是字母字符 
		{
			outfile.put(c[i]);			//将母字符存入磁盘文件f2.dat 
			cout<<c[i]; 				//同时将字母在显示器进行显示 
		}
	}
	cout<<endl;
	outfile.close();		//关闭f2.dat文件 
} 
//get_from_file函数从磁盘读入字符,将其中的小写字母改为大写字母,然后存回
void get_from_file()
{
	char ch;
	ifstream infile("f2.dat",ios::in);
	//定义输入文件流outfile,以输入方式打开磁盘文件f2.dat 
	if(!infile)
	{
		cerr<<"open f2.dat error!"<<endl;
		exit(1); 
	}
	ofstream outfile("f3.dat");
	//定义输出文件流outfile,以输出方式打开磁盘文件f3.dat 
	if(!outfile)
	{
		cerr<<"open f3.dat error!"<<endl;
		exit(1); 
	}
	while(infile.get(ch))	//当读取成功时,执行下面的符合语句 
	{
		if(ch>=97&&ch<=122)	//ch为小写字母
		{
			ch=ch-32;		//将小写字母转化为大写字母 
		}
		outfile.put(ch); 	//将该大写字母存入磁盘文件f3.dat
		cout<<ch;			//同时在显示器输出 
	}
	cout<<endl;
	infile.close();
	outfile.close(); 
} 
int main()
{
	save_to_file();
	//调用save_to_file(),从键盘输入数据并保存到磁盘 
	get_from_file();
	//调用get_from_file(),从磁盘打开文件,并操作,然后写回磁盘
	return 0; 
}

输出结果:

/*
	please input something:
	SDJKJKkjkjkl232343KJKLJKJKLJsjkdfjkdsjKLJKJKL
	SDJKJKkjkjklKJKLJKJKLJsjkdfjkdsjKLJKJKL
	SDJKJKKJKJKLKJKLJKJKLJSJKDFJKDSJKLJKJKL
*/

第一行为我输入的数据,第二行是f2.dat中的数据,第三行是f3.dat中的数据。


我们还可以通过type命令,查看f2.dat和f3.dat中的数据。

/*
	C:Usershp>cd /d e:	est
	
	e:	est>dir
	 驱动器 E 中的卷是 Work
	 卷的序列号是 0FBA-069C
	
	 e:	est 的目录
	
	2013/12/11  22:00    <DIR>          .
	2013/12/11  22:00    <DIR>          ..
	2013/12/11  22:00                39 f2.dat
	2013/12/11  22:00                39 f3.dat
	2013/12/11  21:58             1,661 one.cpp
	2013/12/11  22:00         6,560,425 one.exe
	               4 个文件      6,562,164 字节
	               2 个目录 207,104,806,912 可用字节
	
	e:	est>type f2.dat
	SDJKJKkjkjklKJKLJKJKLJsjkdfjkdsjKLJKJKL
	e:	est>
	e:	est>
	e:	est>type f3.dat
	SDJKJKKJKJKLKJKLJKJKLJSJKDFJKDSJKLJKJKL
	e:	est>
	e:	est> 
*/


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。