C++輸入輸出

輸入輸出

  • I/O庫常用的流類
  • 標準輸出流對象
  • 文件操作與文件流

I/O庫常用的流類

  • ios: 抽象基類,由ios派生出類istream和類ostream
  • istream: 通用輸入流類,輸入操作
  • ostream: 通用輸出流類
  • iostream: 通用輸入輸出流類,由以上兩類派生
  • ifstream: 輸入文件流類,由istream派生
  • ofstream: 輸出文件流類,由ostream所派生
  • fstream: 輸入輸出文件流類,由iostream所派生

標準輸出流對象

1、COUT

cout是console output的縮寫,是輸出流類ostream的對象。

2、輸出流類成員函數put()

此成員函數的使用格式一般爲:
輸出流對象.put(ch)

標準輸入流對象

1、cin

cin是類istream的對象
採用輸入運算符“>>”輸入數據時,一般會自動跳過空格、tab鍵換行符等空白字符。

2、輸入流常用成員函數

1)get()
用於輸入單個字符:輸入流對象.get()
若遇到輸入流中的文件結束符,則函數值返回文件結束標誌EOF。
2) getline()
用於從輸入流對象中輸入一行字符:輸入流對象.getline(字符指針,字符個數n)
如果輸入的一行字符中,字符個數小於n,則字符指針指向的字符數組空間儲存實際輸入的字符
3) eof()函數
表示”文件結束“:輸入流對象.eof()
讀取數據時,如果當前字節爲文件結束符,eof()函數值爲非零值,否則爲0。
4) putback()函數
putback() 函數將前面用get() 函數從輸入流對象中輸入的字符ch 返回到輸入流對象:
輸入流對象.putback(ch)

#include<iostream>
using namespace std;
char GetChar(istream &in=cin)
{
    char ch;
    while(!in.eof() && (ch=in.get()) == ' ')
    return ch;
}
int main()
{
    char ch;
    cout << "請輸入一行字符:" <<endl;
    ch = GetChar();
    while(ch != '\n' && ch != EOF)
    {
        cout.put(ch);
        ch=GetChar();
    }
    cout << endl;
    return 0;
}

文件操作與文件流

1、常用文件操作方式

  • ios::in :以輸入的方式打開文件,如果文件不存在將出錯,打開後文件當前位置在文件開始處。
  • ios::out : 以輸出方式打開文件,如果文件不存在,將建立一個新文件,否則將清空文件,打開後文件當前位置在文件開始處。
  • ios::app : 以追加方式打開,如果文件已存在,則不清除原有內容,否則編譯錯誤,打開後文件當前位置在文件結束處。
  • ios::binary : 以二進制文件方式打開文件,否則默認ASCII方式打開文件

2、打開文件

  • 使用方式:

    1) 文件流對象.open(磁盤文件名,文件操作方式)

ofstream outFile;
outFile.open("C:\\new\\mybook.txt",ios::out);

2) 在文件流對象時指定參數

ofstream outFile("mybook.txt",ios::out);
  • 如果打開失敗,文件流成員函數fail()返回非0值

3、關閉文件

  • 使用方式:文件流對象.close()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章