引用:
deep_dream寫到:
難到沒有更好的方法讓我使用string的函式卻不必複製記憶體呀~~~
想要使用 string::compare or string::find 等函式,偏偏原資料就是char *
天那~~~
你用string的function不如copy char*的內容到string再做處理吧...或是利用強制轉換之類的處理過後再丟到目標去
string:c_str()很好用...有機會你自己去MSDN研究
範例...大概像這樣吧
char* ch1 = "aabbab";
ch1 = static_cast<string>(ch1).substr(static_cast<string>(ch1).find("aa"),3).c_str();
如果你需要的只是不需要另外宣告一個string變數就能使用string的function的話,那像這樣強制轉換後處理應該符合你需求
說穿了"string"這個類別也只是基於"char *"之外再增加一些字串處理function而已,可以直接強制轉換
說實在的,老師都不會交這些東西,因為老師們認為那是你應該要會的
正所謂"師父帶進門,修行看個人"
這些雖然課堂不教,但是老師出的作業多少都是磨練這些技能
不過你一開始說的指標陣列應該基本上都是會教的...只是說看老師是大略帶過還是仔細講解而已
[RJ 在 2009-10-28 04:06 AM 作了最後編輯]