c - 将一个字符串附加到一个二维的char数组?

标签 c arrays

我是 C 的新手,如果我有一个 char 的二维数组和一个单独的字符串,我有以下问题:

char strings[4][6] = {"hello", "Hi", "bye"};
char lonestring[6] = "lone";

我想将这个字符串添加到二维数组中,使其变为:{"hello", "Hi", "bye", "lone"}

char strings[3] = lonestring;

但是当我使用下面的代码时,如果出现错误,是哪里出了问题?

最佳答案

char strings[4] = lonestring; 试图定义一个名为 strings 的对象,但是 char strings[3][5] 已经存在。因此是一个错误。

要将 lonestringstring 内容复制到 strings[3],请使用 strcpy()

strcpy(strings[3], lonestring);

通常的问题适用:确保目的地足够大 - 正如本例所示。


对于 char strings[4][5],使用 "hello" 初始化 strings[0] 不会导致string as strings[0] 缺少一个空字符@David C. Rankin .

OP 后来被编辑为 char strings[4][6]


注意:这不会添加strings,它只是为对象的部分分配了新值。一旦在 C 中定义了一个数组,它的大小就不能改变。

简单地说:{"hello", "Hi", "bye", ""} 变成了 {"hello", "Hi", "bye", "lone"}

关于c - 将一个字符串附加到一个二维的char数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52808157/

相关文章:

我们可以在一个 while(1) 循环中使用两个 break 语句吗?

c - 如何有效地找到另一个数组中子数组的所有匹配项?

c - 如何从 C 中的字符串中获取和评估表达式

python - 如何在c或python中将数字的高8位移动7次?

php - CSV 到键值对

java - 增强的 For 循环 - 对象数组

c - 如何将临时值分配给二维数组

python - 在 Python 函数中获取 "None"而不是零值

c++ - 堆栈实现

java - 从整数字符串中减去整数