Qt获取字符串大小

可以用成员函数size、length和count来获取字节数组的大小。除了名字不同,这3个函数是等同的,函数的原型声明如下:

int size();
int length();
int count();

这3个函数返回字节数组中的字节数。Size()函数的用法如下:
 

QByteArray ba("Hello")

int n = ba.size();

执行后,n等于5。

可见,size()并不包含字符串末尾自动添加的'\0'。另外,如果以字符串形式初始化,中间有'\O',则size()不会统计'\O'及其后面的字符。

QByteArray ba2("He\ollo");
int n = ba2.size();

执行后,n等于2。

通过resize分配空间,然后通过逐个赋值来进行初始化的话,中间某个字节数据是'\0',并不会被size()函数截断。比如:

QByteArray ba3;
ba3.resize (6);
ba3[0] = 0x3c;
ba3[1] = '\0';
 ba3[2] =0×64;
ba3[3] =0x18;
ba3[4] - 0xca;
ba3.data()[5]=0x31;
n=ba3.size(): //n==6

你可能感兴趣的:(开发语言,qt)