使用strcpy复制字符串数组索引0

时间:2015-11-08 19:18:08

标签: c++ arrays

我正在尝试将一个字符(字符串数组索引0)复制到另一个包含30个索引的字符串数组。

这是一个从两个字符串数组生成用户名的程序。 firstName和lastName。 用户名的格式必须是:jsmith (例如:用户输入约翰史密斯。输出应该是jsmith。)

这就是我所拥有的。

void generateName(char firstName[15],char lastName[15])
{
   char userName[30];

   strcpy(userName, firstName[0]);
   strcpy(userName, lastName);

   cout << "Your newly generated username is: " <<userName <<endl;
   getch();
}

我收到了这些错误:

无法将'int'转换为'const char *' 调用'strcpy char *,const char *)'时参数'_src'中输入不匹配 从不使用参数'firstName'

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

因为你需要使用

   strcpy(userName, &firstName[0]);

代替。 strcpy的参数需要是指针,而是在char数组中传递第一个字符的值。

但是上面strcpy的调用会复制整个 firstName - 包括空终止符。如果您只想复制第一封信,您可以这样做:

   memcpy(userName, &firstName[0], 1);
   strcpy(&userName[1], lastName); // append last name