J'utilise cet exemple:chaîne Copier pointeur vers pointeur
char *myData[][2] =
{{"John", "[email protected]"},
{"Erik", "[email protected]"},
{"Peter","[email protected]"},
{"Rikard","[email protected]"},
{"Anders","[email protected]"}};
char **tableData[6];
tableData[0] = myData[0];
tableData[1] = myData[1];
tableData[2] = myData[2];
tableData[3] = myData[3];
tableData[4] = myData[4];
tableData[5] = NULL;//null terminated array
et que vous voulez plutôt placer mes propres chaînes pour le nom et e-mails. (en essayant de placer la chaîne xyz dans myData, puis tableData) strcpy avec myData ne fonctionnera pas. J'ai essayé toutes les combinaisons de pointeurs et de références mais il ne semble pas copier la chaîne. Aucune suggestion?
ok--> strncpy(xyz, argv[i], strlen(argv[i]));
ok--> strcpy(xyz + strlen(argv[i]), "\0");
run time stops here--> strncpy(myData[i][0], xyz, strlen(xyz));
tableData[i] = myData[i];
Ce n'est pas le problème, mais vous devriez regarder de plus près ce que strlen() et strncpy() font. Les deux lignes: ok -> strncpy (xyz, argv [i], strlen (argv [i])); ok -> strcpy (xyz + strlen (argv [i]), "\ 0"); ne sont pas plus sûr (et beaucoup moins efficace) que strcpy (xyz, argv [i]); – Dipstick