【问题标题】:How to change the working directory in C?如何更改C中的工作目录?
【发布时间】:2010-09-07 20:50:08
【问题描述】:

chdir 可以用于常量字符路径(它需要一个const char *),但不能用于用户输入的路径(因为它们的类型为char *)。有没有办法解决这个问题?

【问题讨论】:

  • 使用 chdir() 有什么问题?它肯定可以与用户提供的路径一起使用......你试过了吗?它失败了吗?如何?贴一些代码...
  • 对 Roman 的进一步回答:一般来说,函数参数上的 const 限定符意味着函数不会尝试修改您传递的内容,因此它可以是字符串常量,而不是它必须是一个常量。在T const *(对于任何类型的T)中,const 基本上意味着“只读”。

标签: c linux chdir


【解决方案1】:

chdir 可以与任意字符串一起使用。 const 修饰符意味着它不会修改你的字符串。

【讨论】:

    【解决方案2】:

    为了扩展Roman Cheplyaka's answer,类型限定符总是可以添加到指针类型,但不能删除。这意味着接受const char * 参数的函数实际上是在说它可以接受char * const char *(这实际上意味着它承诺不会改变字符串的内容)。

    同样,具有volatile char * 参数的函数可以采用char *volatile char * 作为实际参数,而采用const volatile char * 参数的函数可以采用char *、@ 987654330@、volatile char *const volatile char *

    【讨论】:

      猜你喜欢
      • 2015-05-11
      • 2023-03-30
      • 2011-03-29
      • 2012-04-03
      • 1970-01-01
      • 2016-03-14
      • 2011-12-13
      相关资源
      最近更新 更多