读书人

字符串变量可变长度如何定义

发布时间: 2013-03-01 18:33:02 作者: rapoo

字符串变量可变长度怎么定义。
定义了一个结构体
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吧。
[解决办法]
引用:
C/C++ code?1234567891011121314#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){ ……


顶~
[解决办法]
那就把第三个成员变量定义成指针,通过动态申请空间,空间申请为length的大小;

读书人网 >C++

热点推荐