【问题标题】:mkdir system call with variable (C)带变量的 mkdir 系统调用 (C)
【发布时间】:2014-03-22 11:22:41
【问题描述】:

我是 Linux 系统编程的新手。任务是:用有价值的“lab01”创建系统变量“MY_DIR”,并在其中创建任何文件。

我已成功创建文件夹,但无法使用变量创建任何文件

putenv("MY_DIR=lab01");
mkdir_ret_code = mkdir(("/home/Alexander/%s",getenv("MY_DIR")),0777);

如何解决这个问题?

【问题讨论】:

  • 您已将此问题标记为“c”,但 std::string 是 C++...
  • 哦,对不起,我当然想要纯C
  • 硬编码前缀/home/Alexander/ 似乎很奇怪。为什么不把它关掉,所以mkdir(getenv("MY_DIR"),...) 并从正确的目录运行程序。请注意,为了安全起见,您可能应该在使用 MY_DIR 之前对其进行一些检查。
  • 这只是为了训练目的,我知道使用硬编码的东西不是很好

标签: c linux mkdir


【解决方案1】:

使用数组并使用这些函数http://linux.die.net/man/3/string

【讨论】:

    猜你喜欢
    • 2015-10-15
    • 2012-09-23
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    相关资源
    最近更新 更多