2017-04-20 155 views
0

我的指示很清楚,但我做錯了,你能幫助糾正我的錯誤嗎?打印getcwd路徑

說明: 否則,如果(「PWD」) 聲明大小MAX_PATH_LENGTH的char變量數組來保存路徑做了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); 

它返回一個0,如果兩個字符串是相等的,所以你應該在被檢查返回值,你如果這樣的語句:

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