C++ 在字符的开头插入字符

c++ insert char at the beginning of char

本文关键字:字符 插入 开头 C++      更新时间:2023-10-16

我的(愚蠢(情况:

char numbers[3][10] = {"ONE", "TWO, "THREE"};
char letters[2][3] = {"A_", "B_"};
char comb[3][13] = {};

如何在一行代码中在所有数字之前添加字母"A"来创建新的字符数组comb

预期输出:comb = {"A_ONE", "A_TWO, "A_THREE"};

我尝试过但不起作用:

comb = letters[0] + numbers;

重要边界:我不能使用 std::string(这个站点中有很多带有字符串的解决方案(。对于C++初学者来说,有什么简单的解决方案吗?提前谢谢你

comb = letters[0] + numbers;

这不起作用,因为您尝试将char*添加到char**,并将其分配给char**

正如您指出的,您不能使用std::string,因此您应该使用strcpystrcat。诸如此类。

for(int i = 0; i < 3 ; ++i)
{
std::strcpy(comb[i], letters[0]);
std::strcat(comb[i], numbers[i]);
}

您需要确保comb[i]有足够的空间来适应结果。

您可以使用以下算法:

For each index i of numbers
let l be length of letters[0]
copy letters[0] into comb[i]
copy numbers[i] into comb[i], starting from index l