如何将字符附加到 std::string?

新手上路,请多包涵

以下失败并出现错误 prog.cpp:5:13: error: invalid conversion from ‘char’ to ‘const char*’

 int main()
{
  char d = 'd';
  std::string y("Hello worl");
  y.append(d); // Line 5 - this fails
  std::cout << y;
  return 0;
}

我还尝试了以下方法,它可以编译但在运行时随机运行:

 int main()
{
  char d[1] = { 'd' };
  std::string y("Hello worl");
  y.append(d);
  std::cout << y;
  return 0;
}

抱歉这个愚蠢的问题,但我在谷歌搜索过,我看到的只是“char array to char ptr”、“char ptr to char array”等。

原文由 Yana D. Nugraha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 482
2 个回答
y += d;

我会使用 += 运算符而不是命名函数。

原文由 Khaled Alshaya 发布,翻译遵循 CC BY-SA 2.5 许可协议

有三种方法可以做到这一点:

例如,我们有这样的代码:

std::string str_value = "origin";

char c_append = 'c';

  1. 我们通常使用 push_back()。

str_value.push_back(c) 2. 使用 += 。

str_value += c 3. 使用附加方法。

str_value.append(1,c)

您可以从 http://www.cplusplus.com/reference/string/string/ 了解更多关于字符串的方法

原文由 Brook 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题