gpt4 book ai didi

c++ - 如何在使用 popen() 时绕过 cmd 中的 y/n 问题

转载 作者:行者123 更新时间:2023-11-28 06:07:17 25 4
gpt4 key购买 nike

今天我在我的程序中遇到了一个严重的错误,它只是一个小代码,它使用 popen() 传递命令并将其结果通过管道传输到我使用 fgets() 读取结果,date 命令的问题我的程序一直挂起(等待),原因是我们知道在发出 date 后它会显示当前日期和像下面这样发出是或否的问题。

The current date is: Fri 08/21/2015
Enter the new date: (mm-dd-yy)----this was shitting my code!!!!

我只想让我的程序跳过这个问卷。

注意:下面代码中的字符串“command”是我将从用户那里收到的。

FILE *in;
char buff[512];
string cmd;
command += " 2>&1";
if (!(in = popen(command.c_str(), "r"))) {
status = "0"; // my logic don't bother:)
}
else {
while (fgets(buff, sizeof(buff), in) != NULL) {
cmd += buff;
}
}

最佳答案

感谢 Petesh。

我改成了2>&1<nul而不是 2>&1 ,程序现在没有挂起,此解决方案的关键是添加 <nul给出一些默认值作为对提示的回答。

关于c++ - 如何在使用 popen() 时绕过 cmd 中的 y/n 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32140780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com