CString使用SetAt方法出錯

做一個小軟件,要對CString的字符進行操作,結果用SetAt方法總是報錯,看起來像是溢出

百思不得其解,因爲我的從語法上來看沒有任何問題。

後來跟蹤調試,到了CString的源碼定義部分,發現CString用的是數組保存字符串的

數組可以溢出,是因爲長度不夠,CString呢?

如果CString沒有初始化長度,是不能進行SetAt操作的,本身沒有內容,也就沒有申請內存存儲空間,故不存在索引,也就沒有東西可以用來操作了。指定一個不存在的索引肯定會出錯啦。

雖然CString比數組方便的多,但SetAt還是沒有直接操作數組方便。

 

 

感謝作者:http://hi.baidu.com/elevin/blog/item/224adc5c359e4644faf2c069.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章