我有一个像这样声明的字符串数组:
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中这样做的方法?感谢。
答案 0 :(得分:1)
#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)
我刚刚通过:
PartString(buffer, parts, '.');