Odczyt danych fstream
Ostatnio zmodyfikowano 2012-05-03 20:09
diego997 Temat założony przez niniejszego użytkownika |
Odczyt danych fstream » 2012-05-03 19:19:18 Dlaczego w każdym języku programowania odczyt danych z pliku jest tak ograniczony ?
Chcę odczytać z pliku ciąg 700 znaków i mogę to jedynie zrobić metodą getline przesyłając jako parametr string'a do którego mają zostać zapisane dane, ale niestety do stringa mogę maxymalnie wprowadzić 255 znaków. Możecie mi jakoś pomóc :) ? |
|
akwes |
» 2012-05-03 19:26:33 Yyyy String nie ma limitu rozmiaru 255... |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-05-03 19:38:50 sory 256 ;p |
|
akwes |
» 2012-05-03 19:39:53 #include <iostream> #include <conio.h>
int main() { std::string str; for( int i = 0; i < 100; i++ ) str += "Ala ma kota, a kot ma ale"; std::cout << "Rozmiar str: " << str.size() << " znakow"; getch(); }
Rozmiar str: 2500 znakow
Jesteś pewien? |
|
szyx_yankez |
» 2012-05-03 19:41:32 Teoretycznie string ma nieograniczoną pojemność w praktyce zależy to od ilości dostępnych zasobów.
#include <fstream> #include <iostream> #include <string>
using namespace std;
int main() { fstream fin( "file.txt" ); string Str; getline( fin, Str,( char ) 0 ); cout << Str << endl; return 0; }
|
|
diego997 Temat założony przez niniejszego użytkownika |
» 2012-05-03 19:45:03 @szyx_yankez spróbuj zczytać właśnie w ten sposób z pliku więcej niż 255 znaków u mnie wywala błąd |
|
akwes |
» 2012-05-03 19:45:43 |
|
szyx_yankez |
» 2012-05-03 20:09:13 @szyx_yankez spróbuj zczytać właśnie w ten sposób z pliku więcej niż 255 znaków u mnie wywala błąd |
A u mnie ładnie wczytuje i wyświetla.
A spróbuj wczytać w ten sposób:
#include <iostream> #include <cstdio> using namespace std;
int main() { FILE * F = fopen( "file.txt", "r" ); string Str; for( int i = 0; i < 1024; i++ ) Str += fgetc( F ); cout << Str << endl; return 0; }
|
|
« 1 » |