tags:

views:

74

answers:

2

chdir can be used for constant character paths (it takes a const char *), but not for paths inputted by the user (since they have type char *). Is there any way around this?

+8  A: 

chdir can be used with arbitrary string. const modifier means that it will not modify your string.

Roman Cheplyaka
+1  A: 

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 *.

caf