C:将字符串复制到字符串列表中
C: copy string into list of strings
所以我有一个姓名列表和对应的 phone 号码,我希望用户能够不断地在该列表中输入新的姓名-号码对。我尝试执行此操作的代码部分如下所示:
char name[20], list_names[1000][20], phone[20], list_phone[1000][20];
int n;
n = 0;
do
{
printf("Enter name: ");
scanf("%20[^\n]", name);
printf("Enter phone number of %s: ", name);
scanf("%20[^\n]", phone);
strcpy(list_names[n], name);
strcpy(list_phone[n], phone);
n += 1;
}
while (n < 1000);
这通常会给我一个类似 "incompatible pointer type" 的错误。我必须以间接方式进行,并首先将名称存储在一个单独的变量中。但是如何从该变量中获取字符串到列表中呢?可能有一些我在 strcpy() 部分没有得到的东西。
感谢您的帮助!
试试这个
printf("Enter name: ");
scanf(" %19[^\n]", name);//add one space and turn 20 to 19 (leave space for '[=10=]')
printf("Enter phone number of %s: ", name);
scanf(" %19[^\n]", phone);
所以我有一个姓名列表和对应的 phone 号码,我希望用户能够不断地在该列表中输入新的姓名-号码对。我尝试执行此操作的代码部分如下所示:
char name[20], list_names[1000][20], phone[20], list_phone[1000][20];
int n;
n = 0;
do
{
printf("Enter name: ");
scanf("%20[^\n]", name);
printf("Enter phone number of %s: ", name);
scanf("%20[^\n]", phone);
strcpy(list_names[n], name);
strcpy(list_phone[n], phone);
n += 1;
}
while (n < 1000);
这通常会给我一个类似 "incompatible pointer type" 的错误。我必须以间接方式进行,并首先将名称存储在一个单独的变量中。但是如何从该变量中获取字符串到列表中呢?可能有一些我在 strcpy() 部分没有得到的东西。 感谢您的帮助!
试试这个
printf("Enter name: ");
scanf(" %19[^\n]", name);//add one space and turn 20 to 19 (leave space for '[=10=]')
printf("Enter phone number of %s: ", name);
scanf(" %19[^\n]", phone);