gpt4 book ai didi

c++ - 如何使用 `execl()` 在 C/C++ 中运行系统命令,将函数参数仅作为命令行而不是可执行文件传递?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:43:14 25 4
gpt4 key购买 nike

我想在 C/C++ 程序中执行这个命令:stat -c "%F %A %n"*filename goes here*文件名存储在 main 函数的 argv[1] 中。

我尝试将其作为 execl("/bin/stat", "stat", "-c", "\"%F %A %n\"", "file", NULL);

execl() 命令应该如何实现结果?

最佳答案

你的命令应该是这样的:

int res = execl("/bin/stat", "stat", "-c", "\"%F %A %n\"", argv[1], NULL);
if (res == -1) {
perror("/bin/stat");
exit(1);
}

然后错误会告诉你:

/bin/stat: No such file or directory

您会意识到 stat 在/usr/bin 中,或者使用 execlp 是个好主意。

关于c++ - 如何使用 `execl()` 在 C/C++ 中运行系统命令,将函数参数仅作为命令行而不是可执行文件传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58316493/

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