在測驗記憶體映射檔案的時候,創建了一個空檔案,然后程式視窗中有一個EDIT控制元件。程式執行時,打開這個空檔案,并讀取它的內容到EDIT中顯示。用戶還可以編輯這個EDIT框的內容,點擊確定按鈕后,用memcpy函式將用戶輸入的字串復制到映射地址。這應該就實作了對檔案的寫入。
遇到的問題是:程式關閉后,我打開這個空檔案,想看看里面有什么內容,比如用戶在EDIT框輸入了“my world”并點擊確定后程式將字串寫入檔案,然后關閉。隨即我便打開這個被寫入的檔案查看,可得到的卻只是一個“m”字符,后面的字串去哪里了?
更奇怪的是,雖然這個檔案中的內容和用戶之前輸入的不對,但是重新運行程式,卻依然能用映射讀取出“my world!”這個字串到EDIT框中,顯示的是正確的“my world!”字串。究竟是為什么?不是應該程式關閉以后,系統會自動更新他的映射檔案內容嗎。怎么沒更新呢,望大俠解答。
uj5u.com熱心網友回復:
無碼無真相!uj5u.com熱心網友回復:
可能你找錯了檔案uj5u.com熱心網友回復:
把那檔案用16進制顯示下。懷疑是寬字符uj5u.com熱心網友回復:
應該就是寬位元組的原因了!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/111527.html
上一篇:NMHTTP控制元件Put例外
