0

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 );

それを実行すると、デバッガーはエラーで終了します。私は何を間違っていますか?

4

1 に答える 1

3

にメモリを割り当てる必要がありmatchTextます。持っているのは単なるポインタです。コピーされる文字列を保持するために (ポインタであるため) を
使用して割り当てられた十分なメモリが必要です。そうしないと、 Undefined Behaviorが得られます。malloc

于 2012-05-08T17:32:50.587 に答える