Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Odczyt danych fstream

Ostatnio zmodyfikowano 2012-05-03 20:09
Autor Wiadomość
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 :) ?
P-55904
akwes
» 2012-05-03 19:26:33
Yyyy String nie ma limitu rozmiaru 255...
P-55907
diego997
Temat założony przez niniejszego użytkownika
» 2012-05-03 19:38:50
sory 256 ;p
P-55908
akwes
» 2012-05-03 19:39:53
C/C++
#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?
P-55909
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.

C/C++
#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;
}
P-55910
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
P-55911
akwes
» 2012-05-03 19:45:43
http://www.cplusplus.com/reference/string/string/resize/
http://www.cplusplus.com/reference/string/string/capacity/

ewentualnie

http://www.cplusplus.com/reference/iostream/istream/read/
I masz w przykładzie jak odczytać cały plik, myślę że zrobisz z tego wczytanie 600 znaków :> (warto sprawdzić też czy plik w ogóle tyle znaków posiada).
P-55912
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:
C/C++
#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;
}
P-55915
« 1 »
  Strona 1 z 1