Strcpy из массива строк в другой массив строк

Поэтому я создал массив строк const const

const char *players[10];
 players[0] = "Anselm";
 players[1] = "Otto";
 players[2] = "Fedor";
 players[3] = "Juergen";
 players[4] = "Ulrich";
 players[5] = "Eugen";
 players[6] = "Meinrad";
 players[7] = "Gotthard";
 players[8] = "Frank";
 players[9] = "Matthaeus";

Я хочу, чтобы иметь возможность скопировать любого из игроков из этого массива строк в другой

этот массив:

char waiting[10][20]; 
strcpy(waiting[0], players[2]);

Но поскольку я не могу использовать strcpy (я считаю) в этом случае, я немного потеряю, как бы это сделать?

1 ответ

Следующее должно работать. Однако вы должны ознакомиться с использованием malloc().

#include <stdio.h>
#include <string.h>

int main(int argc, const char * argv[])
{

 const char *players[10];
 players[0] = "Anselm";
 players[1] = "Otto";
 players[2] = "Fedor";
 players[3] = "Juergen";
 players[4] = "Ulrich";
 players[5] = "Eugen";
 players[6] = "Meinrad";
 players[7] = "Gotthard";
 players[8] = "Frank";
 players[9] = "Matthaeus";

 char waiting[10][20];
 for (int i = 0; i < 10; i++){
 strcpy(waiting[i], players[i]);
 }
 for (int i = 0; i < 10; i++){
 printf("waiting[%d]: %s\n", i, waiting[i]);
 }

 return 0;
}
</string.h></stdio.h>

Вывод:

waiting[0]: Anselm
waiting[1]: Otto
waiting[2]: Fedor
waiting[3]: Juergen
waiting[4]: Ulrich
waiting[5]: Eugen
waiting[6]: Meinrad
waiting[7]: Gotthard
waiting[8]: Frank
waiting[9]: Matthaeus
Program ended with exit code: 0

licensed under cc by-sa 3.0 with attribution.