10、流式IO(一)
编写C++程序完成以下功能:
(1) 使用ofstream 向一个文本文件中输出各种类型的数据,并打开文件观察结果:
l 整数、无符号整型、长整型、浮点型、字符串、……
(2) 用十进制、八进制、十六进制方式向文本文件中输出整数;
(3) 使用控制符和成员函数来控制输出的格式:
l set() precision() ...
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
int main()
{
char ch;
int x[100],i,a=0;
ofstream myFile("tfile.doc",ios_base::binary);
cout<<"请输入数据,以#结束:"<<endl;
cin>>ch;
myFile<<endl<<"输入的字符为:"<<endl;
while(ch!='#')
{
myFile.write((char*)&ch,sizeof(ch));
cin>>ch;
}
cout<<endl<<"请输入一些整数,以0结束:"<<endl;
cin>>i;
myFile<<setiosflags(ios_base::dec);
myFile<<endl<<endl<<"十进制数为:"<<endl;
while(i!=0)
{
x[a]=i;
a++;
myFile<<x[a]<<" ";
cin>>i;
}
myFile<<resetiosflags(ios_base::dec);
myFile<<setiosflags(ios_base::oct);
myFile<<endl<<endl<<"八进制数为:"<<endl;
for(int j=0;j<a;j++)
{
// myFile.write((char*)&x[j],sizeof(x[j]));
myFile<<x[j]<<" ";
}
myFile<<resetiosflags(ios_base::oct);
myFile<<setiosflags(ios_base::hex);
myFile<<endl<<endl<<"十六进制数为:"<<endl;
for(int j=0;j<a;j++)
{
// myFile.write((char*)&x[j],sizeof(x[j]));
myFile<<x[j]<<" ";
}
myFile<<resetiosflags(ios_base::hex);
cout<<endl<<"请结束程序后打开,文件“tfile.doc”查看结果。"<<endl;
myFile.close();
system("pause");
return 0;
联系客服