Я пытаюсь объединить массив с массивом из argv (я забыл формальное имя для этого, входной массив? Массив параметров?)
В любом случае, я инициализирую исходный массив, затем использую memcpy
для копирования двух массивов в новый массив.
int main(int argc, char *argv[]) {
char *args1[] = {"foo","bar"};
char **args = (char**) calloc(argc, sizeof(char*));
memcpy(args, args1, sizeof(char*) * 2);
memcpy(args + sizeof(char*) * 2, argv+1, sizeof(char*) * (argc-1));
но когда я запускаю это
printf("%s %s %s\n", args[0], args[1], args[2]);
, а затем запустить
. / Тестовая база
Я получаю результат
foo bar (ноль)
Так что я пытаюсь выяснить, где облажался мой второй memcpy, но я не могу его найти. Любая помощь? Заранее спасибо.