gpt4 book ai didi

c++ - 在 C++ 中使用 system();不起作用

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

我需要在我的 C++ 代码中执行这个命令:mkdir -p sample_directory/{1..10}制作10个目录。但是当我在代码的系统函数中使用它时:

system("mkdir -p sample_director/{1..10}");

执行后只创建一个目录,名称为:{1..10}我该如何解决?

最佳答案

大括号扩展不在 POSIX 中,因此并非所有 shell 都实现它。特别是,在 POSIX 中,system 应该调用 sh,它应该像一个“普通”POSIX shell 而不是 bash 或者其他一些功能丰富的外壳。所以它不会进行大括号扩展。

如果你想让bash处理命令,你可以直接调用bash...

system("bash -c 'mkdir -p sample_director/{1..10}'");

或者您可以只进行 10 个单独的 system 调用。或者其他解决方法,我相信您能想到一些。

关于c++ - 在 C++ 中使用 system();不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33705881/

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