int num;
while (!(cin >> num)) //當輸入的是非數字時,cin返回false
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-ujdehp5n-1615986515259)(
使用檔案輸出的主要步驟:
雖然標頭檔案iostream提供了乙個預先定義好的名為cout的ostream物件,但我們在操作檔案時必須宣告自己的ofstream物件,並為其命名,將其同檔案關聯起來。此後便可以像使用cout那樣使用它,所有可用於cout的操作和方法都可用於它。
#include #include int main()
雖然標頭檔案iostream提供了乙個預先定義好的名為cin的istream物件,但我們在操作檔案時必須宣告自己的ifstream物件,並為其命名,將其同檔案關聯起來。此後便可以像使用cin那樣使用它。所有可用於cin的操作和方法都可用於它。
ifstream fin;
fin.open("bowling.txt");
或者char filename[50];
cin >> filename;
fin.open(filename);
if (!fin.is_open()) // if fail to open, then exit.
char line[81];
fin.getline(line, 81); //read a line of text from fin
或者double wt;
fin >> wt; //get the first value from fin which is "bowling.txt"
while (fin.good())
或者while (fin >> wt) //測試表示式的結果為fin,其再需要乙個bool值的情況下,
if (fin.eof())
cout << "end of file reached.\n";
else if(fin.fail())
cout << "input terminated by data mismatch.\n";
else
cout << "input terminated for unknown reason.\n";
fin.close();
return 0;
如果你的編譯器不支援is_open()方法,那麼可以使用老的good()方法來替代它。但good()方法在檢查可能存在的問題方面沒有is_open()那麼廣泛。
因此,由於good()在沒有任何問題時返回真,所以一般先使用good()判斷讀取成功否。因為eof()只能判斷是否到達eof,而fail()可以檢查eof和型別不匹配,因此如果good()返回假,那接著要判斷是否到達檔案尾,這樣當執行到了fail()測試返回真,便可斷定導致迴圈終止的原因是型別不匹配。同理,如果fail()返回假,那就是其它原因導致的迴圈終止。**警告:**windows文字檔案的每行都以回車加換行結尾;c++在讀取檔案時自動將這2個字元轉換為換行符,並在寫入windows檔案時執行相反的轉換。有些文字編輯器(metrowerks code warrior ide),不會在最後一行末尾加上換行符。因此,建議大家在輸完最後一行文字後,按下回車鍵再儲存關閉。
;c++在讀取檔案時自動將這2個字元轉換為換行符,並在寫入windows檔案時執行相反的轉換。有些文字編輯器(metrowerks code warrior ide),不會在最後一行末尾加上換行符。因此,建議大家在輸完最後一行文字後,按下回車鍵再儲存關閉。
C plus6th 第6章 分支和邏輯運算子
int num while cin num 當輸入的是非數字時,cin返回false 字元函式 使用檔案輸出的主要步驟 雖然標頭檔案iostream提供了乙個預先定義好的名為cout的ostream物件,但我們在操作檔案時必須宣告自己的ofstream物件,並為其命名,將其同檔案關聯起來。此後便可以...
第6章 分支結構和邏輯操作符
l if語句 l 邏輯表示式 並不是所有的鍵盤都提供了邏輯操作符的符號,因此c 提供了另一種表示方式 n 替換代表and n 替換代表or n 替換代表not 識別符號and,or和not都是c 保留字,但並不是c語言的關鍵字。在c語言中使用以上替換需要包含標頭檔案iso646.h l 字元函式庫c...
C plus6th 第4章 復合型別
第一種方法 int year cin year cin.get or cin.get ch char name 10 cin.getline name,10 第二種方法 int year cin year get or cin year get ch char name 10 cin.getline...