How to change the working directory in C?
chdir
can be used for constant character paths (it takes a const char *
), but not for paths in开发者_开发百科putted by the user (since they have type char *
). Is there any way around this?
chdir
can be used with arbitrary string. const
modifier means that it will not modify your string.
To expand on Roman Cheplyaka's answer, type qualifiers can always be added to pointer types, but not removed. This means that a function that takes a const char *
parameter is really saying it can take either a char *
or a const char *
(which effectively means it is promising not to alter the contents of the string).
Similarly, a function that has a volatile char *
parameter can take either a char *
or a volatile char *
as the actual argument, and a function that takes a const volatile char *
parameter can take any of char *
, const char *
, volatile char *
, or const volatile char *
.
精彩评论