在C+中停止错误输出+;创建新文件夹时 我在Ubuntu上使用C++。我一直在使用命令: system("mkdir new_folder");

在C+中停止错误输出+;创建新文件夹时 我在Ubuntu上使用C++。我一直在使用命令: system("mkdir new_folder");,c++,C++,创建一个名为“新建文件夹”的新文件夹。但是,如果该文件夹已经存在,C++将输出错误消息(并继续运行)。 有没有办法阻止打印错误消息?对于此特定命令,请使用mkdir-p新文件夹 通常,您希望分叉进程,并在其中一个分支上将stdout和stderr重定向到/dev/null或类似位置,然后执行exec以用新进程替换该进程。为什么不先检查文件夹是否已存在,如果不存在,则创建它?另外,像那样公然使用system是一个即将发生的意外。为什么不使用并检查其返回值呢?int mkdir(const char

创建一个名为“新建文件夹”的新文件夹。但是,如果该文件夹已经存在,C++将输出错误消息(并继续运行)。
有没有办法阻止打印错误消息?

对于此特定命令,请使用
mkdir-p新文件夹


通常,您希望分叉进程,并在其中一个分支上将stdout和stderr重定向到/dev/null或类似位置,然后执行exec以用新进程替换该进程。

为什么不先检查文件夹是否已存在,如果不存在,则创建它?另外,像那样公然使用
system
是一个即将发生的意外。为什么不使用并检查其返回值呢?int mkdir(const char*pathname,mode_t mode);-否?另外,创建一个全新的流程只是为了运行一个简单的操作,如创建文件夹。这是非常低效和缓慢的。也很难确定导致相应命令失败的原因。最后,也请参阅讨论。使用
system()
就像试图在没有实际编程的情况下编程一样。