使用CString要當心 0 結束符

2021-05-24 22:09:27 字數 416 閱讀 9715

最近寫了乙個程式,其中一處用到了cstring型別的「+」操作。如下**所示。

m_remain += hex_buffer;

以上三個變數均為cstring型別,按理說這本來只是乙個很簡單的連線字串的操作,可是程式除錯的結果是除第一次執行正確外,以後只是儲存了m_remain的內容,沒有加上hex_buffer的內容,這個問題真是讓我很撓頭,百思不得其解。

後來在網上查閱了很多資料,也有csdn論壇上有人有類似問題,原來是乙個'/0'結束符在作怪。原因是這樣的:我的程式中m_remain是乙個全域性變數,而hex_buffer是函式中的變數,用來儲存ascii轉為hex後的字元。問題出在hex_buffer的最後,我給它加了個'/0',於是乎'/0'也被加到m_remain的末尾,cstring遇到結束符就跳出了,偏偏m_remain是全域性函式,就不再進行操作了。

(vue)使用樣式屬性scoped時要當心

在做專案的時候,用到過pig框架 pig框架飛機票 該框架前端採用的是vue框架,絕大部分都是用 生成器生成的,之前也一直沒用過都是現學現賣。因此,總避免不了掉坑里,其中vue樣式的scoped屬性就是乙個大坑。一下就是 生成器生成的部分樣式 頁面部分 編輯 刪除專案的要求就是要把生成的 的表頭新增...

C 字元陣列與字串的使用及加結束符 0 的問題

1 字元陣列的定義與初始化 字元陣列的初始化,最容易理解的方式就是逐個字元賦給陣列中各元素。char str 10 即把10個字元分別賦給str 0 到str 9 10個元素 如果花括號中提供的字元個數大於陣列長度,則按語法錯誤處理 若小於陣列長度,則只將這些字元陣列中前面那些元素,其餘的元素自動定...

C 字元陣列與字串的使用及加結束符 0 的問題

1 字元陣列的定義與初始化 字元陣列的初始化,最容易理解的方式就是逐個字元賦給陣列中各元素。char str 10 即把10個字元分別賦給str 0 到str 9 10個元素 如果花括號中提供的字元個數大於陣列長度,則按語法錯誤處理 若小於陣列長度,則只將這些字元陣列中前面那些元素,其餘的元素自動定...