如何将 const char\* 附加到 const char\*

新手上路,请多包涵

我正在尝试将三个不同的 const char* 变量附加到一个中。这是因为 Windows 库中的函数采用参数 LPCTSTR。我有以下代码:

 const char* path = "C:\\Users\\xxx\\Desktop\\";
const char* archivo = "vectors";
const char* extension = ".txt";

const char* fullPath =+ path;
fullPath =+ archivo;
fullPath =+ extension;

当我运行它时,我只得到添加到 FullPath 的最后一个(扩展名)。

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

阅读 262
1 个回答

您需要分配一些空间来保存连接的字符串。幸运的是,C++ 有 std::string 类来为你做这件事。

 std::string fullPath = path;
fullPath += archivo;
fullPath += extension;
const char *foo = fullPath.c_str();

请注意,包含连接字符串的空间归 fullPath 所有,并且指针 foo 仅在 fullPath 在范围内且未修改后保持有效调用 c_str

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

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