0

chdir一定の文字パスには使用できますが ( が必要const char *です)、ユーザーが入力したパスには使用できません (タイプが であるためchar *)。これを回避する方法はありますか?

4

2 に答える 2

8

chdir任意の文字列で使用できます。constmodifier は、文字列を変更しないことを意味します。

于 2010-09-07T20:52:16.250 に答える
1

Roman Cheplyaka の answerを拡張するために、型修飾子は常にポインター型に追加できますが、削除することはできません。これは、パラメータを取る関数const char *が実際には achar * またはa のいずれかを取ることができると言っているconst char *ということです (これは事実上、文字列の内容を変更しないことを約束していることを意味します)。

同様に、パラメーターを持つ関数は実引数としてaまたは a のvolatile char *いずれかを取ることができ、パラメーターを取る関数は、、、またはのいずれかを取ることができます。char *volatile char *const volatile char *char *const char *volatile char *const volatile char *

于 2010-09-08T01:58:05.630 に答える