输入/输出流

转载于:http://blog.chinaunix.net/uid-24219701-id-2149884.html


/*

* 向流中插入一个字节

*/

#include

using namespace std;

 

int main(void)

{

    cout.put('A');

    cout.put('\n');

    return 0;

}

 

/*

* 向流中插入一个字符串

*/

#include

#include

using namespace std;

 

int main(void)

{

    char *str = "Good morning!";

    cout.write(str, strlen(str));

    cout.put('\n');

 

    cout.write(str+5,strlen(str));

    cout.put('\n');

 

    return 0;

}

 

/*

* 向流中提取字符

* get()遇输入流中的停止符,但不提取停止符

*/

#include

#include

using namespace std;

 

int main(void)

{

    char str[20];

    cout<<"input str:";

    cin.get(str,sizeof(str));  

    cout<

 

    cin.get(str,sizeof(str));  

    cout<

 

    return 0;

}

 

/*

* 向流中提取字符

* getline()遇输入流中的停止符,并提取停止符,把‘\0’加至最后

*/

 

#include

#include

using namespace std;

 

int main(void)

{

    char str[20];

    cout<<"input str:";

    cin.getline(str,sizeof(str));  

    cout<

 

    cin.getline(str,sizeof(str));  

    cout<

 

    return 0;

}

 

/*

* 格式化输出

*/

#include

#include

using namespace std;

 

int main(void)

{

    int i=1024,j=256;

    double p=3.14159267,q=3.14;

   

    cout<

    cout<

    cout<

    cout<<j<<endl; 

    cout<

    cout<<setw(10)<<setiosflags(ios::right)<<setfill('#')<

    cout<

 

    return 0;

}

 

 

/*

* 格式控制函数

*/

#include

#include

using namespace std;

 

int main(void)

{

    int i=1024,j=256;

    double p=3.14159267,q=3.14;

   

    cout<

    cout.width(10);

    cout<

    cout<

 

    cout.width(10);

    cout.fill('#');

    cout.setf(ios::left,ios::adjustfield);

    cout<

 

    return 0;

}

 

 

/*

* 输入流格式控制

*/

#include

#include

using namespace std;

 

int main(void)

{

    int i;

    cout<<"hex: ";

    cin>>hex>>i;

    cout<

 

    cout<<"dec: ";

    cin>>dec>>i;

    cout<<i<<endl; 

 

    return 0;

}

 

/*

* 文件写入

*/

#include

#include

#include

using namespace std;

 

int main(void)

{

    ofstream outfile("f:\\f.txt",ios::out);

    if(!outfile)

        cerr<<"open fiald"<

    else

    {

        outfile<<"Lzy"<

        outfile.close();

    }

 

    return 0;

}

 

/*

* 文件读出

*/

#include

#include

#include

using namespace std;

 

int main(void)

{

    char str[20];

    fstream infile("f:\\f.txt",ios::in);

    if(!infile)

        cerr<<"open fiald"<

    else

    {

        infile>>str;

        infile.close();

        cout<

    }

 

    return 0;

}

 

/*

* 二进制文件访问

*/

#include

#include

#include

using namespace std;

 

int main(void)

{

    int date1[]={2011,8,9},date2[3];

    double x=3.14,y;

 

    fstream outfile("f:\\f.txt",ios::out|ios::binary);

    if(!outfile)

    {

        cerr<<"open outfile failed"<

        abort();

    }

    outfile.write((char *)date1,sizeof(date1));

    outfile.write((char *)&x,sizeof(x));

    outfile.close();

 

    fstream infile("f:\\f.txt",ios::in|ios::binary);

    if(!infile)

    {

        cerr<<"open infile failed"<

        abort();

    }

    infile.read((char *)date2,sizeof(date2));

    infile.read((char *)&y,sizeof(y));

    infile.close();

    cout<<date2[0]<<'-'<<date2[1]<<'-'<<date2[2]<<'\t'<

 

    return 0;

}

 

 

/*

* 文件的随机访问

*/

#include

#include

#include

using namespace std;

 

int main(void)

{

    char c1,c2;

    fstream outfile("f:\\f.txt",ios::out);

    outfile<<"ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    outfile.close();

 

    fstream infile("f:\\f.txt",ios::in);

    long pos=infile.tellg();

    cout<

 

    infile>>c1;

    pos=infile.tellg();

    cout<<c1<<'\n'<

 

    infile>>c1;

    infile>>c2;

 

    infile.seekg(10);

    infile>>c1;

    pos=infile.tellg();

    cout<<c1<<'\n'<

 

    infile.seekg(15,ios::beg);

    infile>>c1;

    pos=infile.tellg();

    cout<<c1<<'\n'<

 

    return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值