以下のコードスニペットでは、char*をconstchar *に置き換え、strdup()関数呼び出しを削除して、getopt()によって設定されたoptarg値を直接取得できますか?strdup関数の使用をスキップするには、constchar*を使用することをお勧めします。事前に助けに感謝します。
/* Code Snippet */
char *dir = NULL;
char *bld = NULL;
int chr;
while ( ( chr = getopt( argc, argv, "d:a:b:f:" ) ) != -1 ) {
switch ( chr ) {
case 'd': //Directory parameter
dir = strdup( optarg );
if (dir == NULL) { /*Error*/ }
case 'b': //Build parameter
bld = strdup( optarg );
if (bld == NULL) { /*Error*/ }
...other code...
}
}
私はそうする必要性を本当に理解していません。
編集:答えてくれてありがとう。本当に助かりました。コードをconstchar*に変更し、strdup呼び出しをスキップしました。
ありがとう、Liju