在 C 中将字符串转换为 Cstring

新手上路,请多包涵

我有一个要转换的字符串 string = "apple" 并希望将其放入这种风格的 C 字符串 char *c ,它包含 {a, p, p, l, e, '\0'} 。我应该使用哪种预定义方法?

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

阅读 458
2 个回答

.c_str() 返回一个 const char* 。如果您需要可变版本,则需要自己制作副本。

原文由 Yann Ramin 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以通过 2 个步骤来完成。

  1. 转换字符串 -> const char*

  2. const char* -> CString

 string st = "my str";
const char* stBuf = st.c_str();   // 1. string to const char *

size_t sz;                          // save converted string's length + 1
wchar_t output[50] = L"";          // return data, result is CString data

mbstowcs_s(&sz, output,  50, stBuf, 50); // converting function

CString cst = output;

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

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