Токенизация строки в C - PullRequest
0 голосов
/ 26 марта 2011

Я пытаюсь сохранить строку с именем и фамилией из строки в структуре, но я получаю (предупреждение: передача аргумента 1 из strcpy делает указатель из целого числа без приведения), и я неуверен, куда поместить strcpy, попытался поместить его в цикл while, и появилась ошибка, которая имеет смысл.Но не уверен, где разместить strcpy EDITED

 struct trip

    {
     char first_name;
     char last_name;

    }
    int main(void)
    {
     struct trip travel[12];
    }

    char input_name(struct trip travel[MAXTRIP], int index)
    {
      int name_read, length; 
      int name_bytes = 100;
      char *name, *word;                 

      getchar();
      printf("Please enter name:\n");

      name = (char *)malloc(name_bytes + 1);
      name_read = getline (&name, &name_bytes, stdin);

      word = strtok(name, ",");
      while (word != NULL)
        {
          strcpy(travel[index].first_name, word);
          word = strtok(NULL, ",");

        }


    }

1 Ответ

4 голосов
/ 26 марта 2011

Игнорируя ошибки ( MANY ) в вашем коде, вы помещаете strcpy() в нужное место.

Однако вы не вызываете его с правильными аргументами: strcpy() нужно 2 аргумента.
В основном оба типа char*;вы передаете char и char*, и именно поэтому компилятор жалуется (для компилятора char ведет себя как int, поэтому он говорит: "strcpy делает указатель из целого числа").* Вам необходимо просмотреть структуру данных и передать права char* s strcpy().

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