Pytanie : Binarny dane

Cześć,
I potrzeba binarny dane, kod być problemowy w mój kod. I znajdować ten błąd:
no maching funkcja dla wezwanie 'QDataStream:: readRowData () '
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
void Widget:: on_pushButton_4_clicked ()
{
    QFile kartoteka ("p19f.bdf");
    jeżeli (! file.exists ()){
         ui - >textBrowser->append ("kartoteka być istnieć");
    }
    jeżeli (! file.open (QIODevice:: ReadOnly | QIODevice:: Tekst)){
        ui - >textBrowser->append ("kartoteka być otwarty");
        powrót;
    }
    QDataStream wewnątrz (&file);
    in.setVersion (QDataStream:: Qt_4_3);
    
    niepodpisany int max_lines = 102;
    niepodpisany int lines_read = (0);
    podczas gdy (! in.atEnd () && lines_read < max_lines)
    {
        QString zawartość = in.readRawData ();
        ui->textBrowser->append (zawartość);
        lines_read++; // wzrost linia kontuar
    }
    file.close ();
}

Odpowiedź : Binarny dane

Cześć obad62,

najpierw tam  być żadny "readRowData" w the kod ty wysyłać więc I zgadywać ono być typ i musieć "readRawData" - żadny, QDataStream:: readRawData oznajmiać "int QDataStream:: readRawData (char * s, int len)", więc ty musieć pointer "char" - buforować i the rozmiar the odbojnica. "readRawData" wtedy wypełniać the odbojnica z the ładowny dane i wracać the liczba ładowny bajt "int".

BTW: Ty napisać ty "potrzeba binarny dane, ale twój kod wydawać się pisać read smyczkowy linia linia od tekst kartoteka. Jeżeli ty chcieć tekst kartoteka IMO ty musieć "QTextStream" i swój funkcja "readLine" zamiast "QDataStream".

Mieć Nadzieję że pomoc,

ZOPPO
Inne rozwiązania  
 
programming4us programming4us