c++在char的开头插入char

标签 c++

我的(愚蠢的)情况:

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] 有足够的空间来容纳结果。

关于c++在char的开头插入char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52094083/

相关文章:

c++ - 无限循环与 RE2::FindAndConsumeN

c++ - 为什么将两个 int 分配给 double 时不能产生正确的值?

c++ - Python <-> C++ 面向对象通信

c++ - WIN32 在哪里定义,我如何在我的项目中包含这个定义?

c++ - 将 double * 转换为 complex*

c++ - (C++) noob - 我的代码有什么问题?

c++ - 如何更正此程序中的重载赋值?

c++ - 无法解决 C2660 和 C2065 错误

c++ - 存储在父类中的派生类数组

c++ - 使用函数模板时出错