我正在执行一个 system() 函数,它返回一个文件名。现在我不想在屏幕上显示输出(即文件名)或通过管道传输到新文件。我只想将其存储在变量中。那可能吗?如果是这样,怎么办?
谢谢
单个文件名?是的。这当然是可能的,但不使用system()
.
Use popen()。这可以在c and c++,您已经用两者标记了您的问题,但可能会使用其中之一进行编码。
下面是一个 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)