匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 5 年前

C++ 程式設計

#include <fstream>

#include <string>

using namespace std;

int main()

{

ifstream inFile("books.txt");

string str;

while (inFile >> str)

cout << str << endl;

inFile.close();

system("pause");

}

這個是我寫的簡單讀取txt程式

我想增加一個例外處理

測試如果沒有txt的情形

請問該如何寫?

書上只有將例外處理使用在程式的變數

但如果是檔案沒讀取到該如何用例外處理?

已更新項目:

prisoner26535大大你好

我所使用的是Visual Studio 2013

我將程式放入之後是正確的

books.txt存在時它能夠正確顯示books所有的字

但是我若將books.txt移除後

卻沒有顯示"Exception opening file"

直接就結束了沒顯示任何東西

1 個解答

評分
  • 5 年前
    最佳解答

    int main() {

    ifstream f;

    try {

    f.open("books.txt");

    } catch( std::ifstream::failure e) { std::cerr << "Exception opening file\n" ; }string str;

    while (f >> str) cout << str << endl;

    f.close();

    system("pause");

    }

    2015-06-20 00:47:47 補充:

    > 卻沒有顯示"Exception opening file" 直接就結束了沒顯示任何東西

    Easy, it is because you may open "to write"

    If you want to open "to read", then you need to use

    f.open('book.txt", std::ifstream::in);

還有問題?馬上發問,尋求解答。