对ASCII文件的操作

ASCII文件又称文本(text)文件或字符文件,它的每一个字节放一个ASCII代码,代表一个字符

对ASCII文件的读写操作可以用以下两种方法:

(1)用流插入运算符“<<”和流提取运算符“>>”输入输出标准类型的数据。 

“<<”和“>>”都已在iostream中被重载为能用于ostream和istream类对象的标准类型的输入输出。由于ifstream和ofstream分别是ostream和istream类的派生类,因此它们从ostream和istream类继承了公用的重载函数,所以在对磁盘文件流对象和流对象运算符 “<<”和流提取运算符“>>”实现对磁盘文件读写,如同用cin,cout和<<,>>对标准设备进行读写一样。


(2)用文件流的put,get,getline等成员函数进行字符的输入输出


//有一个整型数组,含10个元素,从键盘输入10个整数给数组,将此数组送到磁盘文件中存放
#include<fstream>
#include<iostream>
using namespace std;
int main()
{
	int a[10];
	ofstream outfile("f1.dat",ios::out);
	if(!outfile)
	{ cerr<<"open error!"<<endl;
		exit(1);
	}
	cout<<"enter 10 integer numbers:"<<endl;
	for(int i=0;i<10;i++)
	{	cin>>a[i];
	outfile<<a[i]<<" ";}
		outfile.close();
		return 0;	
}


//从上面建立的数据文件f1.dat中读入10个整数放在数组中,找出并输出10个数中的最大者和它在数组中的序号
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
	int a[10],max,i,order;
	ifstream infile("f1.dat",ios::in);
	if(!infile)
	{	cerr<<"open error!"<<endl;
		exit(1);
	}
	for(i=0;i<10;i++)
	{ infile>>a[i];
	  cout<<a[i]<<" ";
	}
	cout<<endl;
	max=a[0];
	order=0;
	for(i=1;i<10;i++)
		if(a[i]>max)
		{ max=a[i];
			order=i;
	}
	cout<<"max="<<max<<endl<<"order="<<order<<endl;
	infile.close();
	system("pause");
	return 0;
}






posted on 2011-11-26 11:35  1.曲待续  阅读(392)  评论(0编辑  收藏  举报

导航