13楼 巨大八爪鱼
2015-12-1 23:44
由於Win32程序是C++語言直接調用Windows API來創建和顯示窗口,所以並未使用到微軟的MFC類庫,也就不涉及到CString字元串類的操作。因此,直接把字元數組通過Windows 消息發送給文本框控制項就行了,讀取的時候也只需要調用GetWindowText函數把文本框中輸入的內容存入字元數組,和scanf幾乎完全一樣(除了scanf不能傳入空格這一點不同以外)
而MFC的CString則不同,通過調用GetBuffer()方法可以獲得字元數組指針的緩衝(操作這個字元串指針中的內容就會立刻影響CString字元串的內容),但是這個緩衝的大小是動態變化的,由CString內部決定,所以如果直接通過賦值\0來加長字元串就會導致數組越界而出錯。
|