Как изменить рабочий каталог в C?

chdir может использоваться для константных путей к символам (требуется const char *), но не для путей, введенных пользователем (так как они имеют тип char *). Есть ли способ обойти это?

2 ответа

chdir может использоваться с произвольной строкой. const Модификатор означает, что он не изменит вашу строку.

Чтобы расширить ответ Романа Чепляка, классификаторы типов всегда можно добавлять к типам указателей, но не удалять. Это означает, что функция, которая принимает const char * Параметр действительно говорит, что это может занять char * или const char * (что фактически означает, что он обещает не изменять содержимое строки).

Точно так же функция, которая имеет volatile char * Параметр может принимать либо char * или volatile char * в качестве фактического аргумента, и функция, которая принимает const volatile char * параметр может принимать любой из char *, const char *, volatile char *, или же const volatile char *,

Другие вопросы по тегам