在我的代碼中,我傳遞了一個對iostream的引用,在這種情況下最終是一個文件。
有沒有什麼方法可以確定它是否在打開時被設置爲[in | out]而不僅僅是[in]?我可以問一個iostream是否可寫嗎?
7
A
回答
3
看着IOS,的iostream,ostream的所有成員後,我沒有看到任何方式獲取所用的openmode
標誌。我想你必須嘗試寫一些東西給你的參考,並捕捉它引發的任何錯誤。或者根據它的設置,檢查bad()的結果。
-2
...種
if (dynamic_cast<ostream*>(MyStreamPtr) == 0)
{
// Not for output...
}
1
openmode
傳遞到std::streambuf
,但沒有方法來檢索它。要知道該文件是否爲寫入操作打開,唯一的方法是嘗試寫入並檢查f.fail()
或可選的f.bad()
(相當於f.rdstate() & std::fstream::badbit
)。
相關問題
- 1. 我可以只寫一個foreach嗎?
- 2. 我可以重寫Convert.ToDateTime()嗎?
- 3. 我可以重寫PreApplicationStartMethodAttribute嗎?
- 4. 我可以問一個是否它是左(或右)?
- 5. 我可以寫這個xaml更短嗎?
- 6. 在Swift中,我可以檢測一個CLLocation是否有效嗎?
- 7. 是否可以重寫window.document.location.host?
- 8. 是否可以重寫drupal_build_css_cache?
- 9. 可以寫R.class。(一個繼承類)嗎?
- 10. 一般可以寫這個嗎? XPATH 2.0
- 11. 我可以使用AJAX +跨域+ jsonp測試URL是否可以訪問嗎?
- 12. 我可以編寫一個posix_time :: ptime對象我自己嗎?
- 13. 是否可以用第一個大寫字母來重寫URL?
- 14. 我可以問南希是否有視圖嗎?
- 15. 是否可以鎖定一個存儲桶以便寫入?
- 16. MIFARE智能卡是否可編程,我可以編寫一個他們可以執行的程序?
- 17. 是否可以編寫一個可以測試AuthorizationPolicy對象的測試?
- 18. .htaccess問題:我可以去掉一個主要的問號嗎?
- 19. 是否可以解決這個問題?
- 20. 我可以使用Xcode編寫一個Excel加載項嗎?
- 21. 我可以調用另一個函數寫入的函數嗎?
- 22. 我可以編寫一個開啓/關閉USB的程序嗎
- 23. 我可以寫一個windows的lighttpd插件嗎?
- 24. 我們可以用C#寫一個宏嗎?Excel
- 25. 我可以在Typescript中編寫一個演員操作符嗎?
- 26. 有人可以幫我寫一個正則表達式嗎?
- 27. 我可以自己編寫一個應用程序 - Xcode/iOS嗎?
- 28. 我可以寫一個lambda函數來引發異常嗎?
- 29. 我們可以自己寫一個EOF角色嗎?
- 30. 我可以寫一個私人的greasemonkey腳本嗎?
它實際上是一個'iostream&'?如果是這樣,它從'istream'和'ostream'繼承,因此是可寫的。如果您正在引用基類「ios」,那麼您正在使用RTTI或模板化函數來查看。 –
std :: fstream f(「/ work/file.txt」,std :: ios_base :: in); - f繼承了ostream,但不可寫。 –
但是,爲什麼要這樣做,除了惹惱那些想知道他們是否可以寫入文件的人呢? – UncleBens