2010-07-09 45 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()以及您将数据传递到编辑控件的位置,以便有人可以肯定地说(并提供更好的建议)。