2014-11-17 92 views
-2

m在一些作业上工作,但甚至不知道该从哪里开始。如果可以的话,你可以把我朝正确的方向扔。这就是我想要做的将字符串转换为c字符串

编写你自己的str_c函数版本,它将C++字符串作为参数(将参数设置为常量引用变量),并返回一个指向等效C字符串的指针。一定要用适当的驱动程序进行测试。

+1

['return s.c_str();'](http://en.cppreference.com/w/cpp/string/basic_string/c_str) – WhozCraig

+0

我想,任务就是写这样的一个不使用'c_str()'方法的方法。对?查看我的答案以获得一些提示。希望他们帮助你,而不是解决任务;-) – TobiasMende

+0

@TobiasMende完全正确! – dcneo

回答

0

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

首先,看看C++ reference for std::string,这是您的问题的出发点。

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

它也可以帮助阅读std::string::c_str方法的文档,您想模仿:string::c_string。 - 或size -attribute,一招是用来确定结束

由于这样的事实,即一个C-串现已length:了解,该系统的工作原理与普通C字符串(char*)是非常重要的字符串:字符串中的最后一个字符必须是'\0'。

请确保您明白,char*字符串也可以看作是字符数组(char [])。这可能会帮助你,理解和解决你的问题。

0

正如我们所知,C字符串是以空字符结尾的char数组。你可以把char中的char从std :: string放到一个char数组中,然后用'\ 0'关闭。并记住一个指向char(char *)的指针也是char数组的表示。你可以用这个概念

相关问题