gpt4 book ai didi

c++ - 如何将系统命令输出存储在变量中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:16:10 27 4
gpt4 key购买 nike

我正在执行一个 system() 函数,该函数返回一个文件名。现在我不想在屏幕上显示输出(即文件名)或管道到新文件。我只想将它存储在一个变量中。那可能吗?如果是这样,如何?谢谢

最佳答案

单个文件名?是的。这当然是可能的,但不能使用 system()

使用popen() .这在 中可用和 ,您已经用两者标记了您的问题,但可能会在一个或另一个中编写代码。

这是一个 C 语言的例子:

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

int main()
{
FILE *fpipe;
char *command = "ls";
char c = 0;

if (0 == (fpipe = (FILE*)popen(command, "r")))
{
perror("popen() failed.");
exit(EXIT_FAILURE);
}

while (fread(&c, sizeof c, 1, fpipe))
{
printf("%c", c);
}

pclose(fpipe);

return EXIT_SUCCESS;
}

关于c++ - 如何将系统命令输出存储在变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5919622/

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