VC中定义结构体的时候,在结构体里面定义 CString类型的变量后,是不是就无法用sizeof(结构体名)求大小了?

结构体中定义字符串变量 char [] 是不是比CString 要好啊?
2025-04-30 18:11:22
推荐回答(3个)
回答1:

你定义一个结构体,结构体中有CString,也是可以用sizeof这个函数的,但是注意CString在这个结构体中只占用4个字节(其实就是一个指针的大小),即使你给这个CString赋值为“1111111111”这样一个串,它在你用sizeof计算大小时还是4个字节;

我们定义结构体,特别是当编写一些通信用的程序,也就是说通过网络向其他主机发送数据的这种程序,我们一般对于字符串都是定义成char[]的,而且还都是按照1字节对齐的。这样在计算发送数据长度时不容易出错。

回答2:

c.TextOut(0,0,m_strLine);
这句说明了是立即画字符

在此之前,你要先erase绘图区域
建议先画一堆的空格就可以了

回答3:

恩,用定长的比较好,CString数据类型指向的数据是变长的,你用sizeof求出来的长度,不是cstring指向的字符串长度,是它本身类的长度