将多维数组传递给c中的函数



我有一个字符串数组,声明如下:

char parts[PART_COUNT][PART_MAX];

然后我做了一个函数,它接受一个字符串和一个字符串数组,并将其拆分为这些部分,声明如下:

WORD PartString(const char *str, char **parts, char sep);

我似乎可以阅读[I][j]部分,但如果我尝试这样分配:

parts[i][j] = str[x];

我得到这个错误:

remote.exe中0x012614d8处未处理的异常:0xC0000005:写入位置0xcccccccc时发生访问冲突。

有人能告诉我用C做这件事的方法吗?谢谢

#define PART_MAX      1024
#define PART_COUNT    4

好吧,设法解决了它,我关闭了编译器警告,当我重新打开它们时,我得到了这个:

'char **' differs in levels of indirection from 'char [4][1024]'

这是一个新的声明,它允许我修改数组中的字符串:

WORD PartString(const char *str, char (*parts)[PART_MAX], char sep)

THen i just pass as:

PartString(buffer, parts, '.');

相关内容

  • 没有找到相关文章

最新更新