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,'\n');
    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('\n');
    
    /* 输出指定字符 */
    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;
}

 

posted @ 2017-01-16 13:08  MetalSteel  阅读(838)  评论(0编辑  收藏  举报