【问题标题】:Appending 2d char array with 1d char array (in C)用 1d char 数组附加 2d char 数组(在 C 中)
【发布时间】:2016-04-11 01:46:44
【问题描述】:

如果有的话

matrix1[4][4] = { 'a','b','c','d',
                  'e','f','g','h',
                  'i','j','k','l',
                  'm','n','o','p'}

string1[50] = "text" 

如何将矩阵中的字符添加到字符串中? 就像我想将“g”添加到“text”中以使 string2 = textg

strcat 不接受这些参数。我可以做一个单独的 char string2 = matrix1[2][3] 并将其附加到 string1 的事情吗?但是如果我想要超过 1 个字符(如 g 和 k)来制作 textgk。

【问题讨论】:

  • strncat(string1, matrix1[1][2], 1);strncat(string1, matrix1[2][2], 1);char string2[50]; snprintf(string2, sizeof(string2), "%s%c%c", string1, matrix1[1][2], matrix1[2][2]);。注意矩阵1[1][2]:'g',矩阵1[2][2]:'k',矩阵1[2][3]:'l'

标签: c arrays string


【解决方案1】:

直接赋值

text[4] = matrix [2][3];
text [5] = '\0';

或者你可以这样做。

 void appendChar(char * pString, char c)
{
    int len = strlen (pString);
    pString[len] = c;
    pString [len +1] = '\0';

}

appendChar (string1, matrix [2][3]);

当然,这个函数假定 pString 指向一个足够大的缓冲区来保存要追加的字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    相关资源
    最近更新 更多