
Qt 4:
第三方串口接口类;
Win_QextSerialPort myCom;
数据: QByteArray temp = myCom->readAll();
长度:templength();
Qt 5:
QSerialPort my_serialport= new QSerialPort;
读取数据: QByteArray xxx = my_serialport->readAll();
长度: xxsize();
数据: xxdata();
至于说怎么保存到不同的 QString 这就是解析的问题,你可以随意发挥,反正就是将你得到的数据进行识别、类型转换、存储而已。
QVector是Qt框架中的一种容器,它可以存储任何类型的数据,比如int、float、string等。QVector的优势在于可以快速访问,可以在O(1)时间内访问任何元素,而且可以轻松地添加和删除元素,更加高效。QVector可以使用toStdString()函数将其转换为标准字符串。实现这一转换的步骤如下:首先,使用QVector的begin()和end()函数获取容器中的迭代器;其次,使用std::string的append()函数将迭代器中的元素添加到标准字符串中;最后,使用toStdString()函数将标准字符串转换为QString类型。综上所述,QVector可以使用toStdString()函数转换为标准字符串,从而实现QVector转换为String的功能。
如何从一段由特殊符号分隔的 QString 中获取被分隔的子串?
从字符串 “one, two, three, four”中获取第二个由‘,’分隔的子串,即 “two” ;
1: #include <QtCore/QCoreApplication>
2: #include <iostream>
3: using namespace std;
4:
5: int main()
6: {
7: QString str = "one, two, three, four";
8: cout << strsection(',', 1, 1)trimmed()toStdString() << endl;
9: return 0;
10: }
Qt4:第三方串口接口类;Win_QextSerialPortmyCom;数据:QByteArraytemp=myCom->readAll();长度:templength();Qt5:QSerialPortmy_serialport=newQSerialPort;读取数据:QByteArrayxxx=my_serialport->readAll();长度:xxsize();数据:xxdata();至于说怎么保存到不同的QString这就是解析的问题,你可以随意发挥,反正就是将你得到的数据进行识别、类型转换、存储而已。
假设整型数据是i,将它转换为二进制数为:xxxx xxxx xxxx xxxx一共4个字节,如何转换为一字节的字符型数据呢?如果把这四个字节分别称为:最高字节,次高字节,次低字节,最低字节,分别获取这四个字节的十进制数,然后用到的时候,再把它拼出来就是了
#include <stdioh>
#define MaxSize 100
typedef struct
{
char data[MaxSize];
int len; //串长
} SqString;
void StrAssign(SqString &str,char cstr[]) //str为引用型参数
{
int i;
for (i=0;cstr[i]!='\0';i++)
strdata[i]=cstr[i];
strlen=i;
}
void StrCopy(SqString &s,SqString t) //s为引用型参数
{
int i;
for (i=0;i<tlen;i++)
sdata[i]=tdata[i];
slen=tlen;
}
int StrLength(SqString s)
{
return slen;
}
SqString Concat(SqString s,SqString t)
{
SqString str;
int i;
strlen=slen+tlen;
for (i=0;i<slen;i++) //将sdata[0]~sdata[slen-1]复制到str
strdata[i]=sdata[i];
for (i=0;i<tlen;i++) //将tdata[0]~tdata[tlen-1]复制到str
strdata[slen+i]=tdata[i];
return str;
}
SqString SubStr(SqString s,int i,int j)
{
SqString str;
int k;
strlen=0;
if (i<=0 || i>slen || j<0 || i+j-1>slen)
return str; //参数不正确时返回空串
for (k=i-1;k<i+j-1;k++) //将sdata[i]~sdata[i+j]复制到str
strdata[k-i+1]=sdata[k];
strlen=j;
return str;
}
void DispStr(SqString s)
{
int i;
if (slen>0)
{
for (i=0;i<slen;i++)
printf("%c",sdata[i]);
printf("\n");
}
}
SqString invert(SqString &s) //例6-2的算法
{
SqString s1,s2;
if (StrLength(s)>0)
{
s1=invert(SubStr(s,2,StrLength(s)-1));
s2=Concat(s1,SubStr(s,1,1));
}
else
StrCopy(s2,s);
return s2;
}
void main()
{
SqString s,t;
StrAssign(s,"abcd1234");
printf("s:");DispStr(s);
printf("s->t\n");
t=invert(s);
printf("t:");DispStr(t);
以上就是关于QT串口数据处理:用QT编写的上位机从下位机接受很多数据,如何才能从这些数据中跳出我想要的全部的内容,包括:QT串口数据处理:用QT编写的上位机从下位机接受很多数据,如何才能从这些数据中跳出我想要的、qtvector转string、求教QStringList 拆分为 多个 QStringList等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)