字符串变量可变长度怎么定义。
定义了一个结构体
typedef struct TLV
{
short int Tag;
short int Length;
char Value[等于Length的值];
}TLV;
要想达到value字符串变量的长度由第2个参数length的值来决定,怎么定义呢?
[解决办法]
那你就把那里面的Value定义成指针就好了,到时候你想获取多长的字符串就new多大就ok了。
[解决办法]
#define TLV_FIX_LEN()(sizeof(TLV) - 4)
typedef struct TLV
{
short int Tag;
short int Length;
char Value[4];
}TLV;
TLV *my_malloc(int valueLen)
{
return (TLV *)malloc(TLV_FIX_LEN + valueLen)
}
[解决办法]
C++的话应该用string吧。
[解决办法]
顶~
[解决办法]
那就把第三个成员变量定义成指针,通过动态申请空间,空间申请为length的大小;