用C标记字符串

时间:2011-03-26 18:28:34

标签: c token

我正在尝试将一个字符串中带有名字和姓氏的字符串存储到一个结构中但是我得到了(警告:传递strcpy的参数1使整数指针没有强制转换),而我不是确定在哪里放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 个答案:

答案 0 :(得分:4)

忽略代码中的( MANY )错误,您将strcpy()放在正确的位置。

但是,你没有使用正确的参数调用它:strcpy()需要2个参数 基本上,两者都是char*类型;您正在传递charchar*,这就是编译器抱怨的原因(对于编译器,char的行为类似于int所以它说“strcpy从整数中生成指针“)。

您需要检查自己的数据结构,并将正确的char*传递给strcpy()