2010-07-09 71 views
1

好吧,讓我們看看這一切是否合理。今天,當我開始研究一個小項目時,我遇到了一個我似乎無法克服的錯誤。我正在處理的程序的功能是從管道(這是另一個程序的輸出)讀取數據,並使用WinAPI更新HWND(「編輯」)控制對話框。現在,我已經成功地更新了對話框:排序。如果我將:: ReadFile()函數的字符緩衝區發送到對話框,我會得到正確的輸出結果,但卻帶有大量我不想要的額外字符。那麼,我怎樣才能簡單地將它帶到我正在尋找的輸出,或者有更好的方法來完成我正在嘗試的?也許需要輸出和WriteFile();或類似於可破譯的文本?ReadFile()輸出到WinAPI編輯對話框

這裏是發生了什麼:

一些輸出...... 'HOLA盟' 的意思......喂字ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ$

這是我希望發生的:

部分輸出...'Hola Mondo'表示...

你好!

非常感謝您的幫助!

問候,
丹尼斯M.

回答

4

檢查的ReadFile的「字節讀取」輸出參數,所以你知道多久的字符串,然後把終止NUL('「\ 0」),在該偏移字符。

+0

你們太棒了!非常感謝。這樣一個小東西只是逃避我。對此,我真的非常感激。 – RageD 2010-07-09 23:30:14

0

在將文件傳遞給文本更新函數之前,您很可能不會0終止緩衝區。

here中選擇「示例:打開文件以供讀取」。

0

看起來你只需要爲傳遞給編輯控件的字符串添加一個'\ 0'終止符。

但是,您的問題應該顯示代碼,包括ReadFile()以及您將數據傳遞到編輯控件的位置,以便有人可以肯定地說(並提供更好的建議)。