我有一個字符數組,並希望轉換的值中的一個字符到QString的:CHAR到QString的
unsigned char inBuffer[64];
....
QString str= QString(*inBuffer[1]);
ui->counter->setText(str);
這不是工作(我得到一個編譯錯誤)。有什麼建議麼?
我有一個字符數組,並希望轉換的值中的一個字符到QString的:CHAR到QString的
unsigned char inBuffer[64];
....
QString str= QString(*inBuffer[1]);
ui->counter->setText(str);
這不是工作(我得到一個編譯錯誤)。有什麼建議麼?
請檢查http://qt-project.org/doc/qt-4.8/qstring.html
QString & operator+= (char ch)
QString & operator= (char ch)
您可以使用操作符+ =追加一個字符,或運營商=指定一個字符。
但是在你的代碼中它會調用構造函數,而不是operator =。 char沒有構造函數,所以你的代碼不能編譯。
QString str;
str = inBuffer[1];
的QString有一個構造
QString (QChar ch)
所以ü可以使用下面的代碼來做到這一點
QString str= QChar(inBuffer[1]);
或
QString str(QChar(inBuffer[1]));
你是如何聲明inBuffer?如果你的意思是outBuffer,刪除引用操作:
QString str = outBuffer[1];
這是做到這一點的最簡單的方法:
QString x="";
QChar y='a';
x+=y;
所以在這裏你有一個帶char的QString。
這似乎是一種可能的方式(沒有嘗試過),但其他答案對我來說更容易。 – Melebius
你的輸入數據是哪種編碼? –
e expression'* inBuffer [1]'不會從字符串中獲得第二個字符。它採用字符串中的第二個字符,將其視爲地址並取消該地址。你可能是指'inBuffer [1]',沒有星號。 –