将char数组的一部分复制到新的char数组失败

时间:2012-05-08 17:31:31

标签: c pointers arrays

我想将一部分char数组复制到一个新数组

void match(char* probe, char* pattern)
char* matchText;
//the char-array probe in this example is at least 12 characters long
//I'm only writing numbers in the strncopy-command to make it easier to understand
strncpy (matchText, probe + 5, 5 );

运行时调试器退出并显示错误。 我做错了什么?

1 个答案:

答案 0 :(得分:3)

你需要为matchText分配内存,你所拥有的只是一个指针 它必须使用malloc分配足够的内存(因为它是一个指针)来保存被复制到其中的字符串,或者你得到的是未定义的行为