Trong mã của tôi, tôi đã chuyển một tham chiếu đến một iostream, trong trường hợp này cuối cùng là một tập tin.
Có cách nào để tìm hiểu xem, khi nó được mở ra, nó đã được thiết lập để [in | ra] không chỉ [in]?Tôi có thể hỏi iostream nếu nó có thể ghi được không?
7
A
Trả lời
3
Sau khi xem xét tất cả các thành viên của IOS, iostream, ostream, tôi không thấy bất cứ cách nào để lấy openmode
cờ sử dụng. Tôi đoán bạn sẽ phải cố gắng viết một cái gì đó để tham khảo của bạn và bắt bất kỳ lỗi nào nó ném. Hoặc tùy thuộc vào cách nó được thiết lập, kiểm tra kết quả của bad().
-2
... loại
if (dynamic_cast<ostream*>(MyStreamPtr) == 0)
{
// Not for output...
}
1
openmode
được chuyển xuống std::streambuf
, nhưng không có phương pháp để truy xuất. Cách duy nhất để biết liệu tệp có mở để ghi các hoạt động đang cố gắng viết và kiểm tra cho f.fail()
hoặc tùy chọn f.bad()
(tương đương với f.rdstate() & std::fstream::badbit
).
Các vấn đề liên quan
- 1. Powershell có thể nói, nhưng nó có thể viết nếu tôi nói không?
- 2. Tại sao iostream định nghĩa hàm abs và làm thế nào tôi có thể dừng nó?
- 3. Với CoreData, nếu tôi có thuộc tính @dynamic, tôi có thể ghi đè lên getter của nó giống như nó đã được @synthesized không? (Lazy Instantiation)
- 4. Tôi có thể sử dụng thread.stop() trong Java nếu tôi thực sự cần nó không?
- 5. Điều gì có thể xảy ra nếu không thể ghi đè GetHashCode() khi ghi đè Equals()?
- 6. System.out đã đóng? Tôi có thể mở lại nó không?
- 7. Biến mà không có $, nó có thể là có thể?
- 8. Tôi có thể ghi đè nội dòng hay không!
- 9. Có thể ghi được const địa phương
- 10. Tôi có thể tạo trạng thái có thể thay đổi bên trong bản ghi Clojure không?
- 11. Ứng dụng Android của tôi có thể phát hiện nếu nó được khởi chạy từ Eclipse không?
- 12. setTimeout(): Nếu không được định nghĩa trong thông số EcmaScript, tôi có thể tìm hiểu cách hoạt động của nó?
- 13. Có thể ghi đè trường loại không?
- 14. Nếu tôi có nội dung của một tệp zip trong một chuỗi Python, tôi có thể giải nén nó mà không cần viết nó vào một tệp không?
- 15. HTML5 sessionStorage có thể được ghi vào đĩa không?
- 16. Tôi có thể nhận được rãnh chữ trong ggplot2 không?
- 17. .NET có thể chuyển đổi "Có" & "Không" thành boolean nếu không có Nếu không?
- 18. Nếu `main` là một thể hiện của` Object`, tại sao tôi không thể gọi nó?
- 19. Có thể ghi nhãn cạnh d3 không?
- 20. Tại sao giả sử HttpContext nếu nó có thể được xây dựng?
- 21. là nó có thể nếu gọi lại trong mảng_filter nhận được tham số?
- 22. iOS Tôi không thể có được tên hãng của tôi
- 23. Trong MSBuild là nó có thể xác định nếu tôi đang chạy trong Visual Studio
- 24. Có thể và nên một Maven POM xác định nếu nó đòi hỏi Maven 3 hoặc mới hơn?
- 25. Có thể điều khiển WPF có ActualWidth và ActualHeight nếu nó chưa bao giờ được hiển thị không?
- 26. CHOSEN JQuery plugin, có ai biết nếu nó có thể được thực hiện để thực hiện tìm kiếm 'chứa' không?
- 27. Liệu WebClient.DownloadFileAsync có ghi đè lên tệp nếu nó đã tồn tại trên đĩa không?
- 28. Tôi có thể lấy HDC từ cửa sổ WPF để tôi có thể vẽ nó bằng Gdi + API không?
- 29. Tôi có thể thực hiện biến cuối cùng sau khi nó đã được khai báo không?
- 30. Tôi có cần TThread không? Nếu vậy tôi có thể tạm dừng, tiếp tục và dừng lại không?
Nó thực sự là một 'iostream &'? Nếu vậy, nó kế thừa từ cả hai 'istream' và' ostream', và, do đó, có thể ghi được. Nếu bạn đang tham chiếu đến lớp cơ sở, 'ios', thì bạn đang xem xét sử dụng các hàm RTTI hoặc templated. –
std :: fstream f ("/ work/file.txt", std :: ios_base :: in); - f thừa hưởng ostream nhưng không thể ghi. –
Nhưng tại sao bạn làm điều đó, ngoại trừ những người làm phiền muốn tìm hiểu xem họ có thể ghi vào tập tin không? – UncleBens