最近使用到QString的一些用法,记录一下:
QString tmp;
int i=0,j=0;
i=tmp.indexOf('%'); //查找'%'在QString对应的位置,返回下标
if(i==-1) return -1;
else{
if(tmp.at(i+1)=='0') ;//at方法可以读取QString对应下标的内容,注意只能读取,不能改写,改写的话可以使用tmp[i]
else return -1;
if(tmp.at(i+2)=='1') ;
else return -1;
if(tmp.at(i+3)=='#') ;
else return -1;
j=tmp.indexOf(QString("CR"));
if(j==-1) return -1;
else{
databuf=tmp.left(j+2);//left方法将tmp左起j+2个内容提取出来,类似方法还有right
databuf=databuf.remove(0,i);//remove方法移除相应的内容,第一个参数为移除起始位置,第二个参数为移除的数量
return 0;
}
}
QString datasent;
int i;
char tmp=0;
datasent[0]='%';
datasent[1]=QChar(AD_H);
datasent[2]=QChar(AD_L);
datasent[3]=QChar('#');
datasent.append(m_SendBuf);//append合并两个QString
tmp=datasent[0].toLatin1(); //toLatin1内容转换为ASCII
for(i=0;i<datasent.size()-1;i++){
tmp^=datasent[i+1].toLatin1();
}
datasent.append(cov0x2string(tmp));
datasent.append(QString("CR"));
return datasent;