当前位置: 首页 > 面试题库 >

在C中创建一个新目录

司宏伯
2023-03-14
问题内容

我想编写一个检查目录是否存在的程序;如果该目录不存在,那么它将在其中创建目录和一个日志文件,但是如果该目录已经存在,则它将在该文件夹中创建一个新的日志文件。

我如何在Linux中用C做到这一点?


问题答案:

看看stat检查,如果该目录存在,

mkdir,创建目录。

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

struct stat st = {0};

if (stat("/some/directory", &st) == -1) {
    mkdir("/some/directory", 0700);
}

您可以使用man 2 statman 2 mkdir命令查看这些功能的手册。



 类似资料:
  • 首先,打开Android Studio并选择Create new Project,然后它会让你输入一个名字,你可以任意取一个名字,比如:Weather App。然后你需要输入公司域名。如果你不会真正发布这个app,这个字段就不是特别重要了,但是如果你有的话可以使用自己的域名。然后任意选择一个目录作为这个项目的保存地址。 下一步,它会让你选择最小的API版本。我们选择API 15,因为我们有一个库需

  • It doesn’t matter if you have an existing repository/directory of code, or if you are starting a completely new project, adding Yarn works the same way every time. In your terminal/console in the dire

  • 如果你已经使用过Android Studio和Gradle,那么这一章会比较简单。我不会给出很多细节和截图,因为用户界面和细节可能会一直变化。 我们的应用是由一个简单的天气app组成,正如所使用的Google’s Beginners Course in Udacity。我们可能会关注不同的事情,但是app的想法都是一样的,你会发现在一个典型的app里面会包括很多不同的东西。如果你的Android开

  • 问题内容: 我正在使用向导扩展从用户那里获取一些设置。在我的插件上修改了Eclipse项目之后,然后应将其包含在Package Explorer中。整个过程与“新项目→现有项目”非常相似。 但是我找不到任何解决方案或教程等。如何通过向导扩展将Eclipse项目包括到我的包浏览器中。 问题答案: 对于任何对此感兴趣的人来说,这对我来说都是完美的: 该描述将从构建路径中加载并导入到工作空间中。之后,该

  • 我正在尝试创建一个脚本,以便在动态创建一个新文件夹中执行假脱机操作这是我的代码 并且它给出了无法创建假脱机文件C:\Users\rjen01\Desktop\MAR\21MAR2017\U 1227的错误。csv 这是因为没有文件夹C:\Users\rjen01\Desktop\MAR。所以如何在spool命令中动态创建新文件夹。

  • Kotlin插件包括一个让我们配置Gradle的工具。但是我还是倾向于保持我对Gradle文件读写的控制权,否则它只会变得混乱而不会变得简单。不管怎么样,在使用自动工具之前知道它是怎么工作的是个不错的主意。所以这次,我们将手动去做。 首先,你需要如下修改父build.gradle: buildscript { ext.support_version = '23.1.1' ext.k