Questione : Dati binari

Ciao, necessità del
I di leggere i dati binari, che cosa è problema nel mio codice. Trovo questo errore: funzione maching del
no per la chiamata 'a QDataStream:: readRowData () '
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Widget notpretty del >void " del class= " " di codeSnippet726918 del id= del
textBrowser->append (“la lima non è esiste„);
    }
    se (! file.open (QIODevice:: Passivo | QIODevice:: Testo)){
        ui - >textBrowser->append (“la lima non è aperta„);
        ritorno;
    }
    QDataStream dentro (&file);
    in.setVersion (QDataStream:: Qt_4_3);
    
    max_lines senza firma di int = 102;
    lines_read senza firma di int = 0;
    mentre (! lines_read < max_lines del && di in.atEnd ())
    {
        Soddisfare di QString = in.readRawData ();
        ui->textBrowser->append (soddisfare);
        lines_read++; linea contatore di aumento di //
    }
    file.close ();
}
class= del

Risposta : Dati binari

Ciao obad62,

in primo luogo non ci è “readRowData„ nel codice avete inviato in modo da indovino che è un tipo e dovrebbe essere “readRawData„ - comunque, QDataStream:: il readRawData è dichiarato come “int QDataStream:: il readRawData (carbone * la s, int len)„, in modo da voi deve passare un indicatore “ad un carbone„ - attenuare ed il formato dell'amplificatore. “il readRawData„ allora riempirà l'amplificatore di dati caricati e restituirà il numero dei byte caricati come “int„.

BTW: Gli avete scritto “la necessità di leggere i dati binari„, ma il vostro codice sembra essere scritto per leggere la stringa linea per linea da una lima di testo. Se volete leggere un IMO della lima di testo dovreste usare “QTextStream„ e la relativa funzione “readLine„ anziché “QDataStream„.

Sperare che aiuti,

ZOPPO
Altre soluzioni  
 
programming4us programming4us