m在一些作業上工作,但甚至不知道該從哪裏開始。如果可以的話,你可以把我朝正確的方向扔。這就是我想要做的將字符串轉換爲c字符串
編寫你自己的str_c函數版本,它將C++字符串作爲參數(將參數設置爲常量引用變量),並返回一個指向等效C字符串的指針。一定要用適當的驅動程序進行測試。
m在一些作業上工作,但甚至不知道該從哪裏開始。如果可以的話,你可以把我朝正確的方向扔。這就是我想要做的將字符串轉換爲c字符串
編寫你自己的str_c函數版本,它將C++字符串作爲參數(將參數設置爲常量引用變量),並返回一個指向等效C字符串的指針。一定要用適當的驅動程序進行測試。
編寫這樣的函數有不同的可能性。
首先,看看C++ reference for std::string,這是您的問題的出發點。
在該頁面上的迭代器部分中,可能會發現一些方法可幫助您逐個字符地獲取字符串。
它也可以幫助閱讀std::string::c_str
方法的文檔,您想模仿:string::c_string。 - 或size
-attribute,一招是用來確定結束
由於這樣的事實,即一個C-串現已length
:瞭解,該系統的工作原理與普通C字符串(char*
)是非常重要的字符串:字符串中的最後一個字符必須是'\0
'。
請確保您明白,char*
字符串也可以看作是字符數組(char [])。這可能會幫助你,理解和解決你的問題。
正如我們所知,C字符串是以空字符結尾的char數組。你可以把char中的char從std :: string放到一個char數組中,然後用'\ 0'關閉。並記住一個指向char(char *)的指針也是char數組的表示。你可以用這個概念
['return s.c_str();'](http://en.cppreference.com/w/cpp/string/basic_string/c_str) – WhozCraig
我想,任務就是寫這樣的一個不使用'c_str()'方法的方法。對?查看我的答案以獲得一些提示。希望他們幫助你,而不是解決任務;-) – TobiasMende
@TobiasMende完全正確! – dcneo