C - Копировать строку в переменную связанного списка - PullRequest
0 голосов
/ 05 октября 2010
#define STRLEN 65

/*Create linked list */
struct node {
   char str[STRLEN];
   struct node *next;
};

newInput = malloc(sizeof(struct node));
strcpy(newStr, newInput->str);

Я оставил другие части кода, но похоже, что он не копирует строку в newInput-> str.

Допустимая строка - только 64 байта.

Это просто пусто, когда я распечатываю его после копирования.Любая подсказка, почему?

Ответы [ 4 ]

3 голосов
/ 05 октября 2010

У вас есть аргументы для strcpy в обратном порядке, первый аргумент является пунктом назначения, второй аргумент является источником. Попробуйте:

strcpy(newInput->str, newStr);
0 голосов
/ 05 октября 2010

Ваш пункт назначения и источник задом наперед:

strcpy(newStr, newInput->str);

должно быть

strcpy(newInput->str, newStr);
0 голосов
/ 05 октября 2010

Первый параметр strcpy является пунктом назначения, а второй параметр является источником.

Так что

strcpy(newStr, newInput->str);

должно быть

strcpy(newInput->str,newStr);
0 голосов
/ 05 октября 2010

У вас есть аргументы для strcpy в обратном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...