gpt4 book ai didi

c - 使用 execvp() 在递归 cp 中未扩展通配符

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:49 24 4
gpt4 key购买 nike

虽然路径“/home/abhijit/Documents/LINUX/editor/”下有多个文件,但我没有在“temp”(应该从编辑器文件夹复制所有文件)文件夹中获得所需的输出,而是输出即将到来错误为:"cp: cannot stat '/home/abhijit/Documents/LINUX/editor/*': No such file or directory"

#include <stdio.h>
#include <unistd.h>

int main( void )
{
char* argv1[10] = { "cp", "-rf", "/home/abhijit/Documents/LINUX/editor/*", "/home/abhijit/Documents/LINUX/temp", 0 };
execvp( argv1[0], argv1 );
}

但如果我说如下,它工作正常。

 char* argv1[MAX_ARGS] = { "cp", "-rf", "/home/abhijit/Documents/LINUX/editor/", "/home/abhijit/Documents/LINUX/temp", 0 };

最佳答案

星号模式 *shell 扩展,而不是由 cp 命令本身扩展。

如果你通过 shell 运行 cp 命令,你可以让它工作,或者通过 exec 调用带有 -c 选项的 shell > 或使用 system函数而不是 exec

关于c - 使用 execvp() 在递归 cp 中未扩展通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44904541/

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