Tin*_*ina 2 c arrays string character
我有一个以字符数组形式呈现的字符串temp。我想将这个字符数组插入到另一个数组中temp_list,然后打印出这个数组的内容。换句话说,将许多字符数组存储在单个数组中。谁能告诉我这是否可行以及如何使其发挥作用?
这是我想要实现的目标的一个例子:
int main()
{
char temp[5] = "begin";
char temp_list [10];
temp_list[0] = temp;
for (int i = 0; i < strlen(temp_list); i++)
{
printf("Labels: %s,", temp_list[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个程序时,它打印出乱码。
任何形式的指导将不胜感激。谢谢。
编辑:
谢谢您的回答。他们都非常有帮助。但我还有另一个问题...如果我想插入多个字符数组怎么办temp_list?多次使用strcpy似乎不起作用,因为我假设该函数基本上用?temp_list传递的字符串替换了 的整个内容。strcpy
关于字符串存在很多误解。您的数组需要足够大才能存储空终止符,因此在这种情况下temp它的大小至少需要:6
char temp[6] = "begin"; // 5 chars plus the null terminator
Run Code Online (Sandbox Code Playgroud)
要复制字符串,请使用strcpy:
char temp_list[10];
strcpy(temp_list, temp);
Run Code Online (Sandbox Code Playgroud)
要打印它,请 pass temp_list, not temp_list[i],而且您也不需要该循环:
printf("%s\n", temp_list);
Run Code Online (Sandbox Code Playgroud)
最终程序可能如下所示:
int main()
{
char temp[6] = "begin";
char temp_list[10];
strcpy(temp_list, temp);
printf("%s\n", temp_list);
return 0;
}
Run Code Online (Sandbox Code Playgroud)