W moim kodzie przekazano mi odniesienie do iostream, że w tym przypadku jest to ostatecznie plik.
Czy istnieje sposób sprawdzenia, czy po otwarciu został ustawiony na [w | na wyjściu] nie tylko [w]?Czy mogę poprosić o kod Iostream, jeśli można go zapisać?
7
A
Odpowiedz
3
Po obejrzeniu wszystkich członków IOS, iostream, ostream, ja nie widzę żadnego sposobu, aby odzyskać flagę openmode
używany. Sądzę, że będziesz musiał spróbować napisać coś do swojego odnośnika i złapać każdy błąd, który rzuca. Lub w zależności od tego, jak jest ustawiony, sprawdź wynik złego().
-2
... rodzaj
if (dynamic_cast<ostream*>(MyStreamPtr) == 0)
{
// Not for output...
}
1
Numer openmode
jest przekazywany do std::streambuf
, ale nie ma metod jego odzyskania. Jedynym sposobem sprawdzenia, czy plik jest otwarty dla operacji zapisu, jest próba zapisu i sprawdzenia dla f.fail()
lub opcjonalnie f.bad()
(odpowiednik f.rdstate() & std::fstream::badbit
).
Powiązane problemy
- 1. Jak mogę poprosić o plik, ale nie mogę go zapisać przy pomocy Wget?
- 2. Jak mogę poprosić Windows o wydrukowanie dokumentu?
- 3. Czy można poprosić o tylko niektóre kolumny ze stowarzyszenia ActiveRecord?
- 4. Jak mogę poprosić Mavena o listę domyślnych repozytoriów?
- 5. Dlaczego makiety HttpContext, jeśli można go zbudować?
- 6. Czy mogę poprosić Google OAuth2 o wyświetlenie strony akceptującej urządzenia mobilne?
- 7. Czy możesz poprosić ruby o traktowanie ostrzeżeń jako błędów?
- 8. Jak poprosić o wystawcę Crumb dla jenkins
- 9. Czy mogę poprosić GHC o zaimportowanie Debug.Trace dla każdego modułu podczas programowania?
- 10. Jak poprosić BeanUtils o zignorowanie wartości pustych
- 11. Czy można poprosić użytkowników o wyczyszczenie protokołu HTTP Strict Transport Security (HSTS) dla swojej witryny?
- 12. STPrivilegedTask poprosić o hasło dla każdego zadania
- 13. Czy można plunker zapisać na github?
- 14. ios: programowo poprosić o logowanie do Game Center?
- 15. Czy można zapisać typowe elementy w VHDL?
- 16. Czy można zapisać tablicę w TQueue?
- 17. Jak mogę poprosić internautę o potwierdzenie, czy naprawdę chce opuścić stronę?
- 18. Jak poprawnie poprosić o pozwolenie na moją aplikację na Facebooku?
- 19. Jak poprosić o podniesienie poziomu dostępu do rejestru do HKLM?
- 20. HybridAuth: Jak poprosić o dodatkowe pozwolenie na istnienie użytkownika?
- 21. Jeśli folder nie istnieje, utwórz go
- 22. Czy można zawinąć PDO lub rozszerzyć go?
- 23. Zatkanie wydajności Url.Action - czy mogę go obejść?
- 24. Czy można debugować kod mex w Eclipse?
- 25. Czy można wyrazić ten kod w LINQ?
- 26. Pierwsze sudo, aby poprosić o hasło za pośrednictwem GUI
- 27. Jak działa kolejka komend opencl i czego mogę o to poprosić
- 28. Extract Obwiednia i zapisać go jako obraz
- 29. Czy Ruby ma protokół Metaobject, a jeśli nie, czy można go zaimplementować?
- 30. Jak mogę zadzwonić do oryginalnego "operatora new", jeśli go przeciąłem?
Czy to rzeczywiście "iostream &"? Jeśli tak, dziedziczy on po obu 'istream' i' ostream', i dlatego jest zapisywalny. Jeśli bierzesz odwołanie do klasy bazowej, 'ios', to patrzysz na albo używając RTTI albo funkcji szablonowych. –
std :: fstream f ("/ work/file.txt", std :: ios_base :: in); - f dziedziczy ostream, ale nie jest zapisywalny. –
Ale dlaczego miałbyś to robić, z wyjątkiem irytujących ludzi, którzy chcą dowiedzieć się, czy mogą pisać do pliku? – UncleBens