2010-10-10 93 views
1

我已經試過如下:的Qt的QByteArray問題

qDebug() << QByteArray("\x00\x10\x00\x00").size(); 

,我也得到0,而不是4魔女我會espect。

什麼將是一個很好的數據類型來保存這4字節的數據,因爲我需要稍後將它們寫入套接字,所以他們必須保持完全一樣,你看到他們上面?

回答

4

構造函數QByteArray(const char* str)對參數使用qstrlen。由於您的字符串以0x00字節開始,因此qstrlen返回0,因此生成的QByteArray長度爲0字節。

爲了避免qstrlen檢查,使用QByteArray(const char* str, int size)構造:

qDebug() << QByteArray("\x00\x10\x00\x00", 4).size(); 

將打印4如您所願。