c - 在 ShellExecute 函数中将 stderr 和 stdout 获取为字符串

标签 c windows

我想从控制台中的 exusing 命令获取 stderrstdout 到 x 字符串,以便在某些 stderr 中执行一些代码和 stdout 案例

case WM_CREATE:
            ShellExecute(0,
                         "open",
                         "cmd.exe",
                         "/C ipconfig > x",
                         0, SW_HIDE);
break;

x 文件的输出结果我也认为它没有记录 stderr,因为它在使用 adb 命令时将 x 文件留空

最佳答案

@CodyGray,感谢您尝试提供帮助,我发现解决方案是只需添加“2>&1”,这将捕获像这样的 stderr 和 stdout

ShellExecute(0,
                         "open",
                         "cmd.exe",
                         "/C ipconfig > buffer.txt 2>&1",
                         0, SW_HIDE);

解决方案比您提到的更简单,只需找出如何将其重定向到字符串

关于c - 在 ShellExecute 函数中将 stderr 和 stdout 获取为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39066937/

相关文章:

c - fork系统调用输出:

c - 如何从二维数组打印单个字符

windows - 用于查找给定字符串并替换给定目录中所有文件的脚本

c++ - 如何在 MessageBox 上执行我的代码 Ok click

c - 在 C 中使用第二次调用 send() 时出现问题

c - 我不明白为什么这个循环会卡住

c - 如何在 C 中嗅探数据包时查找 TCP 重传

android - 在 Android 上使用 NDK 将指针传递给 java

windows - Windows 上的 Gem 更新 - 它坏了吗?

php - 使用条形码 ID 进行事件管理