【问题标题】:converting a string to a c string将字符串转换为 c 字符串
【发布时间】:2014-11-17 06:33:15
【问题描述】:

我正在做一些作业,但甚至不知道从哪里开始做这个。如果可以的话,你可以把我引向正确的方向。这是我应该做的事情

编写您自己的 str_c 函数版本,该函数将 C++ 字符串作为参数(参数集作为常量引用变量)并返回指向等效 C 字符串的指针。请务必使用合适的驱动程序对其进行测试。

【问题讨论】:

  • 我认为,任务是编写这样一个方法,而不使用c_str() 方法。对?请参阅我的答案以获取一些提示。希望他们帮助你,而不是解决任务;-)
  • @TobiasMende 完全正确!

标签: c++ string c-strings


【解决方案1】:

编写这样的函数有不同的可能性。

首先,看看C++ reference for std::string,这是你问题的起点。

在该页面的迭代器部分,您可能会发现一些方法可以帮助您逐个字符地获取字符串。

阅读std::string::c_str 方法的文档也有帮助,您想模仿:string::c_string。了解系统如何使用普通 C 字符串 (char*) 很重要:

由于 C 字符串现在具有 length- 或 size- 属性,因此使用了一个技巧来确定字符串的结尾:字符串中的最后一个字符必须是 '@ 987654327@'.

请确保您理解,char* 字符串也可以视为字符数组 (char[])。在理解和解决您的问题时,这可能会对您有所帮助。

【讨论】:

    【解决方案2】:

    我们知道,C-string 是以空字符结尾的 char 数组。您可以将 std::string 中的 char 逐个字符放入 char 数组中,然后用 '\0' 关闭。并记住指向 char (char*) 的指针也是 char 数组的表示。你可以使用这个概念

    【讨论】:

      猜你喜欢
      • 2011-02-03
      • 2015-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多