2014-11-17 91 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數組的表示。你可以用這個概念

相關問題