流类库9

Posted yuanxinglan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流类库9相关的知识,希望对你有一定的参考价值。

#include<iostream>
#include<fstream>
using namespace std;
int main()

ifstream file("integers",ios_base::in | ios_base::binary);
if(file)
while (file)
streampos here=file.tellg();
int v;
file.read(reinterpret_cast<char *>(&v),sizeof(int));
if(file && v==0)
cout<<"Position "<<here<<" is 0"<<endl;

else
cout<<"ERROR:Cannot open file\'integers\'."<<endl;

file.close();
return 0;

流类库 输入输出

1、下面给出的程序用于打印九九乘法表,但程序中存在错误。请上机调试,使得此程序运行后,能够输出如下所示的九九乘法表。

 

源程序:

#include <iostream.h>

#include <iomanip.h>

int main()

{

    int i,j;

    cout<<"*";

    for(i=1;i<=9;i++)

    {

       cout<<i<<"  ";       

    }

    cout<<endl;

    for(i=1;i<=9;i++)

    {

       cout<<i;

       for(j=1;j<=i;j++)

          cout<<i*j;

    }

    return 0;

}

 

#include <iostream.h>

#include <iomanip.h>

int main()

{

    int i,j;

    cout<<"*";

    for(i=1;i<=9;i++)

    {

       cout<<i<<"    ";       

    }

    cout<<endl;

    for(i=1;i<=9;i++)

    {

       cout<<i<<"  ";

       for(j=1;j<=i;j++)

          cout<<i*j<<setw(5);

       cout<<endl;

    }

    return 0;

}

2、定义类Complex用来表示复数类,当创建复数对象时,如果没有给出初始值,则默认该复数为0,以友元形式重载运算符“<<”,“>>”,以实现用户对复数类对象的输入输出,并重载运算符“+”,以实现复数对象和普通整数变量的加法运算。

 

ostream &operator<<( ostream &out, Complex &p);

istream &operator>>( istream &in, Complex &p);

 

#include<iostream>

using namespace std;

class complex

{

private:

  int r; int i;

public:

  complex()

  {

      r=0; i=0;

  }

friend istream& operator>>(istream& in,complex& s)

{

  cout<<"请输入实部:"<<endl;

  in>>s.r;

  cout<<"请输入虚部:"<<endl;

  in>>s.i;

  return in;

}

friend ostream& operator<<(ostream& out,complex& s)

{

  out<<"复数为:"<<endl;

  out<<s.r<<"+"<<s.i<<"i"<<endl;

  return out;

}

};

int main()

{

  complex c;

  cin>>c;

  cout<<c;

  return 0;

}

3、编写一程序,将从键盘读入的一个整数、一个双精度数据和一个字符串写到磁盘文件date.dat中。

 

#include<fstream>

#include<iostream>

using namespace std;

int main()

{

    ofstream pout("a.txt");

    if(!pout)

    {

        cout<<"cannot open the file"<<endl;

        return 1;

    }

    int i;cout<<"请输入整数:"<<endl;

    cin>>i;

    pout<<"整数为"<<endl<<i<<endl;

    double b;cout<<"请输入双精度数据:"<<endl;

    cin>>b;

    pout<<"双精度数据为"<<endl<<b<<endl;

    char a[30];cout<<"请输入字符串:"<<endl;

    cin>>a;

    pout<<"字符串为"<<endl<<a;

    pout.close();

    return 0;

}

 

4、将“a”至“z”的26个英文字母写入文件,而后从该文件中读出并显示出来。

 

#include<fstream>

#include<iostream>

using namespace std;

int main()

{

    ofstream pout("a.txt");

    if(!pout)

    {

        cout<<"cannot open the file"<<endl;

        return 1;

    }

    for(char i=97;i<=122;i++)

        pout<<i;

    pout.close();

    char c;

    fstream in;

    in.open("a.txt",ios::in);

    cout<<"文件读出:"<<endl;

    while((c=in.get())!=EOF)

        cout<<c;

    cout<<endl;

    return 0;

}

5、编写一个程序,将两个文本文件连接成一个文件,然后将此文件中所有小写字母转换成大写字母,并打印出来。

#include<iostream>

#include<fstream>

using namespace std;

int main()

{  char c;

  fstream f1,f2,f3,f4;

  f1.open("x.txt",ios::in);

  f2.open("y.txt",ios::in);

  f3.open("xy.txt",ios::out);

  while((c=f1.get())!=EOF)

  f3.put(c);

  while((c=f2.get())!=EOF)

      f3.put(c);

  f3.close();

  f3.open("xy.txt",ios::in);

  cout<<"文件连接后为:"<<endl;

      while((c=f3.get())!=EOF)

          cout<<c;cout<<endl;

      f4.open("xy.txt",ios::in);

      cout<<"小写转化为大写后为:"<<endl;

      while((c=f4.get())!=EOF)

          cout<<char(toupper(c));cout<<endl;

      return 0;

}

 

以上是关于流类库9的主要内容,如果未能解决你的问题,请参考以下文章

9流类库与输入/输出3.输入流

9流类库与输入/输出2.3输出文件流成员函数

流类库8

流类库 输入输出

IO流类库

实验7 流类库和输入输出