gpt4 book ai didi

c++ - 在 if 语句中输出 Command Shell

转载 作者:行者123 更新时间:2023-11-30 03:39:32 25 4
gpt4 key购买 nike

我搜索了很多并阅读了很多代码,但我不明白为什么无法打印变量(cmd 输出)以确保它这个问题可能是重复的,但我不能对我看到的任何代码发表评论,因为我的声誉低于 50这是我正在尝试的代码,我正在尝试获取 cmd 的输出并在 IF 语句中使用它,例如,如果它给出错误,则重新发送命令

#include <stdlib.h>
#include <string>
#include <iostream>
#include <stdio.h>

int main(int argc, char *argv[])
{
FILE *lsofFile_p = popen("adb reboot", "r");

if (!lsofFile_p)
{
return -1;
}


char buffer[1024];
char *line_p = fgets(buffer, sizeof(buffer), lsofFile_p);
pclose(lsofFile_p);
printf("\n\n", *lsofFile_p);
}

编辑后的照片 enter image description here

最佳答案

printf("\n\n", *lsofFile_p);

这只会打印两个 \n。就是这样。不多也不少。这就是为什么您认为它打印“无”的原因。另请注意,*lsofFile_p 是未定义的行为,因为您在前一行关闭了文件,这会使文件指针无效。

您可能想要打印您从 lsofFile_p 中读取的行,您将其存储在 buffer 中:

//'%s' take the second argument of printf and interprets it as a string
printf("%s\n\n", buffer);

考虑使用 std::stringstd::cout 和其他工具让您的生活更轻松,您不必用 C 编程当您使用 C++ 编程时。

关于c++ - 在 if 语句中输出 Command Shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820876/

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