QByteArray char by char Analysis

时间:2016-11-18 02:05:00

标签: c++ arrays qt char qbytearray

QByteArray Reception = client->read(client->bytesAvailable()) ;
char* reci = Recepcton.data();
if( reci[0] == "V" )
{
     ui->lcdNumber_Distance->value( (int) atoi(reci[1]) );
}

有人可以解释为什么if行显示: "错误:来自' char'的无效转换to' const char *'"在Qt控制台?

我尝试更改为:const char* reci = Recepcion.data();但是它显示: "错误:无法转换' char *'到' const int *'在初始化"

1 个答案:

答案 0 :(得分:0)

问题1:QByteArray有一个成员函数constData(),所以你可以这样做

const char* reci = Recepcton.constData();

问题2:" V"是一个字符串,而reci [0]是一个字符,你不能比较它们。正如评论所提到的那样,你应该

reci[0] == 'V'