首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-03-01 
字符串变量可变长度怎么定义。定义了一个结构体typedef struct TLV{short int Tagshort int Lengthchar V

字符串变量可变长度怎么定义。
定义了一个结构体
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的大小;

热点排行