写一段用管道读取控制台输出的代码,windows下, C或C++
时间: 2024-09-09 22:16:19 浏览: 41
控制台应用程序定向输入和输出C++源代码程序小实例
5星 · 资源好评率100%
在Windows环境下,使用C++编写代码通过管道读取控制台输出,你可以使用`std::cin`配合`popen()`函数。这里有一个简单的示例:
```cpp
#include <cstdlib>
#include <iostream>
int main() {
// 创建一个进程,并连接到其标准输出流
const char* command = "your_command.exe"; // 替换为你想要运行的命令
FILE* pipe = popen(command, "r");
if (pipe == nullptr) {
std::cerr << "Failed to open pipe!" << std::endl;
return 1;
}
char buffer[1024]; // 用于接收输出的数据
while (!feof(pipe)) {
size_t read_size = fread(buffer, 1, sizeof(buffer), pipe);
if (read_size > 0) {
std::cout.write(buffer, read_size); // 打印接收到的数据
}
}
// 关闭管道并等待子进程结束
pclose(pipe);
return 0;
}
```
在这个例子中,你需要将`your_command.exe`替换为你想从控制台获取输出的实际程序。这段代码会打开一个管道,运行指定的命令,然后读取和打印控制台输出。
阅读全文