【发布时间】:2018-10-07 21:39:57
【问题描述】:
Windows API 具有类似GetWindowTextW 的函数,可将字符串读入您提供的缓冲区。如何提供这样的缓冲区,然后在 Rust 中从中读取字符串?
附: 与此问题Calling the GetUserName WinAPI function with a mutable string doesn't populate the string 相比,此问题一般侧重于 Windows 上的字符串读取,而不是特定问题。此外,这个问题有望通过关键字轻松搜索到,回答所要求的内容。
【问题讨论】:
-
@IInspectable 我真的不明白。这个问题怎么能被认为与“使用可变字符串调用 GetUserName WinAPI 函数不会填充字符串”相同?另一个标题与这里的问题无关。只有一半的答案代码是相似的。我提出了两个问题并明确给出了答案,以使其易于查找和使用。
-
本题与重复题没有本质区别。两者都尝试使用等效接口访问 Windows API,这些接口由指向缓冲区/缓冲区对大小的指针组成。如果你想提供一个规范的问答,你应该问一个通用的问题:你如何调用一个将字符串返回到调用者提供的缓冲区的 C API?如果您坚持认为这不是重复的,请解释实质性差异。
-
另请注意,重复意味着在回答此问题的另一个问题中有答案,重复并不意味着您的问题与另一个问题完全相同。 “这个问题在这里已经有了答案”而不是“这个问题已经在这里被问过了”
-
好吧,正如你所说。但是我在谷歌上搜索这个问题时遇到了严重的麻烦,花了两个多小时打开多个选项卡和 SO 问题,试验代码,遍历 stdlib 代码等。“调用 GetUserName WinAPI .... 不填充字符串”只是没有'不说话,合我的口味。可能是我理解的问题。
-
@VasyaNovikov 这就是为什么 SO 有重复的原因。此问题现在将显示在搜索您使用的术语中,并将人们重定向到现有答案。这避免了答案的碎片化,同时仍然提高了可搜索性。
标签: winapi rust widestring