文字列配列の最初の 2 つの要素を削除するにはどうすればよいですか? このようなコードがあります。
char *x[10];
..............
..............
..............
char *event[20];
event[0]=strtok(x[i]," ");
event[1]=strtok(NULL," ");
event[2]=strtok(NULL," ");
event[3]=strtok(NULL," ");
event[4]=strtok(NULL," ");
event[5]=strtok(NULL," ");
for(i=2;i<length;i++)
{
strcpy(event[i-2],event[i]);
}
event[0] だけが適切な値を持つことがわかりました。for ループの前に event[][] の内容を出力したところ、正しく表示されました。なぜこれが間違っているのか教えてください。そして可能な解決策は?