- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在以下程序中,我使用两个不同的功能打印到控制台
#include <windows.h>
int main() {
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD byteswritten;
WriteConsole(h, "WriteConsole", 12, &byteswritten, NULL);
WriteFile(h, "WriteFile", 9, &byteswritten, NULL);
}
a > out.txt
重定向它的输出或
a 1> out.txt
除了
out.txt
的内容,没有任何东西打印到控制台(如预期的那样)只是
WriteFile
WriteFile
的两者有什么不同?重定向到文件并调用
WriteConsole
去……无处可去
最佳答案
WriteConsole
仅适用于控制台屏幕句柄,不适用于文件或管道。
如果您只写 ASCII 内容,您可以使用 WriteFile
一切。
如果您需要编写 Unicode 字符,您可以使用 GetConsoleMode
要检测句柄类型,它对于不是控制台句柄的所有内容都失败。
在进行这样的原始输出时,您还必须处理 BOM如果句柄被重定向到一个文件。
This blog post是在 Windows 控制台中处理 Unicode 的一个很好的起点...
关于c - 为什么我不能从 WriteConsole 重定向输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45805785/
我使用此代码段从 dll 内部创建控制台。该 dll 被加载到游戏中。 CODE SNIPPET 控制台窗口创建良好。但是当我向它写入内容时,我只会得到类似“???D??”的内容。 我知道我必须使用
在以下程序中,我使用两个不同的功能打印到控制台 #include int main() { HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE); D
我想调用 _popen 以从可执行文件中获取结果,但它被清空了。 我查看了调试器,发现该程序使用 Kernel32.WriteConsoleW 将 unicode 字符串写入控制台,而不是使用 std
我正在尝试使用 winapi 函数做 hello world。它有点工作,但我很乐意以正确的方式完成它。 所以我得到了这样的代码: int main(){ HANDLE std_out;
我注意到 WriteConsole() 函数调用仅接受宽字符作为输入(否则会打印问号字符)。 WriteConsole(outputHandle, L"A Message", 268, NULL, N
我在 Windows 中看到控制台 I/O 有奇怪的行为。当我使用 CONOUT$ 作为路径打开 FILE * 时,它应该打开控制台的 stdout。如果我将该指针用于 fprintf,然后用于 Wr
我试图在函数调用中使用 WriteConsole(..),但我遇到了访问冲突。当我在 main 中取消注释代码时,它会在 main 函数中毫无问题地将我的文本打印到屏幕上。当我尝试在函数调用中打印字符
在 Windows 上,我观察到如果输出从控制台重定向到一个文件,那么混合调用 printf 和 Windows 的 WriteFile 将导致数据被以与代码中出现的调用不同的顺序写入文件。很公平。这
#include #include using namespace std; int main() { char s[] = "Hello\n"; HANDLE stdout = GetS
我有一个调用 native DLL 的 C# 应用程序。 native DLL 调用 AllocConsole 创建一个新的控制台,然后 WriteConsole 写入它。当应用程序在没有附加调试器的
我有以下一段代码。我想发送命令“uci”,然后 Return/Enter 到控制台。但是,我没有成功。请指教。谢谢! #include #include #include DWORD WINAP
我是一名优秀的程序员,十分优秀!