Problem z odczytaniem zawartości pliku <fstream>
Ostatnio zmodyfikowano 2013-11-24 18:47
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-24 18:00:02 kod po poprawieniu: std::cout << "Plik zostal otwarty pomyslnie!\nJego zawartosc zostala zaladowana ponizej:\n" << std::endl; char bufor[ 1024 ]; plik2.read( bufor, 1024 ); std::cout << "Wczytano" << plik2.gcount() << "bajtow do bufora" << std::endl; Ale to mi wywala ile bajtoów ma plik :P A ja chcę, żeby wyświetliło tekst :) Jak to zapisać ? |
|
kubek3898 |
» 2013-11-24 18:00:50 Mówię, że nie wyświetlasz bufora a nie ilości bajtów... std::cout << bufor; @down Z tego co wrzuciłem teraz u siebie na szybko, to nie potrzebna jest pętla. @down x2 Dziwne, bo u mnie to działa, chyba że jest to jakieś UB, wtedy przepraszam. |
|
pekfos |
» 2013-11-24 18:01:14 Wyświetl zawartość bufora? (w pętli) Tak nie można zrobić. |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-24 18:02:15 @Kubek3898
Dzięki tera działa jak należy :D Temat zamykam.
EDIT: Nie można ? Czemu ? U mnie zadziałało ;o @up U mnie też działa. Więc w czym problem? |
|
pekfos |
» 2013-11-24 18:05:48 read() wczytuje blok danych, a nie c-stringa. |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-24 18:07:20 Ale read() ma u mnie wczytać ZAWARTOŚĆ pliku, i działa więc dalej nie rozumiem czemu tak nie może być ? Jeśli tak być nie może to powiedz jak powinno być :P |
|
pekfos |
» 2013-11-24 18:09:54 Prosty przykład: #include <iostream> #include <fstream> #include <cstring>
int main() { std::ifstream ifs( "a.txt" ); char buf[ 1024 ] = { }; memset( buf, '*', 1023 ); ifs.read( buf, 1023 ); std::cout << buf; } |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-24 18:12:51 Skoro to ma tak wyglądać to powiedz mi czemu to działa :P std::cout << "Plik zostal otwarty pomyslnie!\nJego zawartosc zostala zaladowana ponizej:\n" << std::endl; char bufor[ 1024 ]; plik2.read( bufor, 1024 ); cout << bufor; cout << "\n"; } else std::cout << "Wystapil blad! Nie mozna otworzyc pliku!" << std::endl; Czy to jest jakiś karygodny błąd przez, który aplikacja może się sypnąć czy coś w tym rodzaju ? |
|
1 « 2 » 3 4 |