• C++中的IO流


    一,标准输入流

    1.基本功能(头文件为iostream)

    • char ch = cin.get();// 一次读取一个字符,如果遇到EOF则结束。
    • cin.getline(buf,length);// 一次读取一行数据,包含空格,默认的cin>>是不包含空格的。

    2.代码演示

    # include<iostream>
    using namespace std;
    
    int main()
    {
        /* cin.get()函数:获取一个字符 */
        char c1;
        while ((c1 = cin.get()) != EOF)
        {
            cout << c1;
        }
        /* cin.getLine()函数:获取输入的一行数据,遇到空格也会接收进来与cin不同,cin的>>遇到空格停止 */
        char buf[256];
        cin.getline(buf,256,'
    ');
        cout << buf << endl;
        cout << "cin的>>输入:" << endl;
        cin >> buf;
        cout << buf << endl;
        /* cin的缓冲区测试:第一次空格前面是cin>>读取的,第二次是cin.getline()读取的后面的 */
        char buf1[256];
        char buf2[256];
    
        cin >> buf1;
        cout << buf1 << endl;
    
        cin.getline(buf2, 256);
        cout << buf2 << endl;
    
        return 0;
    }

    二,标准输出流

    1.基本功能(头文件为iostream)

    • cout.put(char);// 输出一个基本数据类型,支持链式编程。
    • cout.write(char *,length);// 输出一个指定长度的字符串。

    2.代码演示

    # include<iostream>
    using namespace std;
    
    int main()
    {
        /* 输出一个字符 */
        cout.put('A').put('B').put(100).put('
    ');
        
        /* 输出指定字符 */
        cout.write("HelloWorld", 5);
    
        return 0;
    }

    三,文件输出流

    1.基本功能(头文件在fstream)

    • open(fileName,mode);// 以指定方式打开文件,但是平时我们是直接在构造方法中这样打开
    • close();// 关闭文件

    2.代码演示

    # include<iostream>
    # include<fstream>
    using namespace std;
    /* 输入代码的案例 */
    int main()
    {
        cout << "Please Enter Code:" << endl;
        char buf[256];
        /* 获取一行数据 */
        cin.getline(buf, 256);
        /* 定义输出文件流,并以输出方式打开该文件 */
        ofstream out("d:/a.dat",ios::out);
        /* 通过文件输出流将控制台数据输入到文件中 */
        out << buf;
        /* 关闭文件 */
        out.close();
        return 0;
    }

    四,文件输入流

    1.基本功能(头文件在fstream)

    • open(fileName,mode);// 以指定方式打开文件,但是平时我们是直接在构造方法中这样打开
    • close();// 关闭文件

    2.代码演示

    # include<iostream>
    # include<fstream>
    
    using namespace std;
    
    int main()
    {
        /* 打开文件:以输入方式打开文件 */
        ifstream in("D:/a.dat", ios::in);
        /* 输出 */
        char ch;
        while (in.get(ch))
        {
            cout << ch;
        }
        /* 关闭文件 */
        in.close();
    
        return 0;
    }
  • 相关阅读:
    基于Kubernates微服务案例
    领导人怎样带领好团队
    前端性能核对表Checklist-2018
    国际巨头互联网公司一些运营与管理思路
    IT研发工程师职业规划
    高性能风控数据平台设计
    基础设施DevOps演进之路
    2017-2018年Scrum状态调查报告
    大型互联网系统的监控流水线
    小程序【情书与歌】一小时过审经验小谈
  • 原文地址:https://www.cnblogs.com/metalsteel/p/6289249.html
Copyright © 2020-2023  润新知