- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
首先,这个问题是基于我在这里的最后一个问题:Reading Console Buffer / Output C++
我有一个已编译的可执行二进制文件。它有一些输出,我想将它重定向到另一个处理这些行的程序。我成功地找到了输出的发送位置,并将其修改为STDOUT。问题是,当我像这样使用它时:
./jampDed.exe | stdout.exe
然后输出不同步。每隔 1000-2000 字节获取内容。
标准输出.cpp
#include <iostream>
int main() {
std::string s;
while (std::getline(std::cin, s, '\n')) {
std::cout << s << std::endl;
}
return 0;
}
我还创建了一个关于程序集修改的图片,其中默认使用了 Kernel32.WriteFile 函数。
所以问题是,我怎样才能让它同步?如何在专用服务器上立即获取每一行?
最佳答案
在可执行文件中建立 stdout
的地方是无缓冲输出的选项位。只需设置(或清除)该位即可。然后每个调用 write 都会立即转移。这会显着增加该程序的执行时间和 I/O 系统工作量,但这可能没问题。
处理输出(作为输入)的程序应该缓冲整行,因为程序本身不太可能进行整行输出。
关于c++ - 带汇编调试(同步)的 WriteFile 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23811572/
我正在尝试使用 C++ 代码将 AT 命令发送到通过 USB 连接的调制解调器。我正在使用“AT+MDN”进行测试,它在这个特定的调制解调器上返回其电话号码,并且在通过连接到其串行端口的 Putty
为了测试并确保我已经把所有东西都放下了,以便以后可以开始扩展,我正在尝试创建一个文件句柄,将给定的字节缓冲区写入该文件句柄,然后读取部分该文件放入新的测试缓冲区。 我有代码: const size_t
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我正在设计一个将时间序列数据写入文件的系统。数据是 8 字节的 block ,分为两个 4 字节的部分:时间和负载。 根据 MSDN,如果写入的数据大小小于一个扇区,则 WriteFile 函数是原子
我不知道如何在 JSON 文件上写入。我正在开发一个单一应用程序页面,主要使用 AngularJS 和 Node.js 这是我的代码: --index.html-- ... --a
作为学习练习,我正在编写一个在运行时输出 DLL 的程序。 我已经编写了 PE header ,并使用 WriteFile 成功将 DOS header 、NT header 、可选节 header
我正在尝试将参数发送到我的arduino。所以我编写了这段代码: #include #include #include #include HANDLE serialPortHandler;
代码: #include #include #include #include HANDLE creatFile(void); long WriteBuffer(HANDLE); char *
一般来说,我是 node.js 和 javascript 的新手,但我无法理解为什么 writeFile 函数正在写入一个空白文件。我认为 for 循环应该是一个 Promise,但我不确定如何编写它
我正在尝试使用 WriteFile 函数将 wstring 写入 UTF-8 文件。我希望文件包含这些字符“ÑÁ”,但我得到的是“�”。 这是代码 #include #include #inclu
嘿,我的 write 和 readFile 方法有问题。这些方法不做任何事情。该方法应该将动态数组的元素写入名为 C++ 的文件中。然后对于读取文件,该方法应该读取 ArrayList 的元素。 这是
我正在尝试将文件从资源复制到 %localappdata%。我有这样的东西: HINSTANCE hInstance = GetModuleHandle(NULL); HANDLE hFile = I
我正在尝试写入文本文件。我可以写入控制台,但是无法写入文本文件。我注意到的一件事是,如果我只是打印到控制台,则 String data 不包含任何数据,这可能就是我的文本文件中没有出现任何内容的原因。
我遇到了一个很奇怪的问题。 我正在连接到 Xbox 360 上的 Winsock 功能,发送。在我试图从中转储 Http 请求信息的应用程序中多次调用此函数。 首先我将展示代码并解释我的问题: Wri
我正在编写一个 activex 控件,它将访问并行端口并将字节写入其中。我能够成功打开端口,但是当我写入时它卡在 WriteFile 函数上。我在这里错过了什么吗?我正在使用 Windows 7 HA
我正在尝试将 16 字节数据写入串行端口,但我无法将值转换为 lpcvoid,这是我的代码, unsigned char Buffer[16]; for (int i=0; i<16; i++
我想写入一个随机输出,其中STD_OUTPUT_FILE即可。我想用WriteFile,但是好像什么都没写。 HANDLE outH = GetStdHandle ( STD_OUTPUT_HANDL
我正在尝试移植一些使用 read() 和 write() 函数发送套接字的 C。我正在尝试将其移植到 Windows,建议(根据我所阅读的内容)使用 WriteFile 和 ReadFile 来完成我
我正在尝试将 unsigned short 和 unsigned char 数组内容写入 .img 文件。我正在使用 WriteFile 方法来做同样的事情。似乎 WriteFile 函数成功地将数组
我想创建一个包含一些文本的简单文本文件。 import java.io.*; class TextFileWriter{ public static void writeTextFile(String
我是一名优秀的程序员,十分优秀!