嘗試使用 ifstream 開啟檔案時,開啟方法可能會因各種原因而失敗。要取得與失敗相關的特定錯誤訊息:
了解錯誤代碼
每個失敗的系統呼叫都會更新 errno 值。該值提供有關失敗原因的資訊。
擷取錯誤訊息
要取得字串形式的錯誤訊息,請使用下列程式碼片段:
多執行緒>多執行緒的重要說明應用程式
在多執行緒應用程式中,errno 是一個全域值。因此,如果另一個系統呼叫在 f.open 和存取 errno 之間觸發錯誤,您可能會遇到問題。
POSIX 系統
在 POSIX 相容系統上,errno 是線程本地,消除了這個問題。
e.what()方法
最初,e.what() 被認為是一種更 C 風格的獲取錯誤訊息的方法。然而,該函數傳回的字串與實作相關,並且在 G 的 libstdc 中通常缺乏有意義的資訊。
以上是ifstream 開啟檔案失敗時如何取得特定錯誤訊息?的詳細內容。更多資訊請關注PHP中文網其他相關文章!