2017-04-20 5 views
0

私の指示はかなり明確ですが、間違っています。私のエラーを修正するのに役立つでしょうか?getcwdパスを印刷

命令:他 (「PWD」)であれば パスを保持するために、サイズMAX_PATH_LENGTHの文字変数の配列を宣言し

私のコードGETCWD 印刷パスを実行します。

}else if(strcmp(argv[0],"pwd")){ 
     char arr[MAX_PATH_LENGTH]; 
     char getcwd(arr,MAX_PATH_LENGTH); 
     printf("cwd: %s",arr); 
+2

'文字GETCWD(ARR、MAX_PATH_LENGTH);' = > 'getcwd(arr、MAX_PATH_LENGTH);'。また、値を出力する前に戻り値をチェックする必要があります。 – willys

+2

'if(strcmp(argv [0]、" pwd ")))は、"文字列が等しくない場合 "を意味します。そして、argv [0]がどこから来るのだろうか。それが 'main'の引数であれば、' argv [0] 'は実行可能ファイルの名前です。 –

+0

この行で何をするつもりですか?char getcwd(arr、MAX_PATH_LENGTH); ?? –

答えて

3

のstrcmp戻りますブール値ではなく整数です。

int strcmp (const char* str1, const char* str2); 

あなたはこのようなあなたのif文で返された値をチェックしなければならないので、2つの文字列が等しい場合は0を返します。

if(strcmp(argv[0],"pwd")==0)