在c ++中使用pascal样式字符串

时间:2015-07-01 07:58:29

标签: c++

Addins for Excel(xll)使用字符串,其中第一个字符是字符串的长度,并且没有空终止。

目前我使用的结构包含一个wchar_t数组,其长度等于excel字符串的长度+ 1。我将excel字符串(包括长度字符串)复制到数组[0]中,并在数组末尾放置一个'\ 0'。这样我就可以将它作为excel字符串和cstring

来处理

我宁愿直接处理这些字符串,而不是复制它们。  我需要的功能是基本的字符串函数; strlen,cmp,trim,substr,replace等。找了一个库位r找不到任何。

有没有标准的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以尝试定义此类结构:

typedef struct _VarLengthStr
{
    unsigned int    length;
    unsigned char   string[1];
} VarLengthStr, *PVarLengthStr;

您可能需要不同类型的长度。您还需要使用newmalloc

分配内存

您也可以使用strnlen_s等安全功能代替strlen等等。