簡體   English   中英

輸入目錄作為C中的命令行參數

[英]input directory as command line arguement in c

我正在建立一個程序,可以互相復制目錄,但是我只能讓它以硬編碼方式工作。

我希望目錄由用戶通過命令行參數輸入。

我用過

char    SrcPath[]    = argv[1]; 

但是當我硬編碼時

char SrcPath[] = "home/user/Desktop/cat"; it works fine. 

但這是行不通的,有人可以解釋為什么/建議這樣做的方法嗎? 在CLI中使用目錄時,是否有一種必須輸入目錄的特殊方式?

更改為char *SrcPath = argv[1]; 應該管用。 指針和數組是不同的東西!

argv[]是一個char指針數組,因此,當您使用argv[1] ,將獲得數組中的第二項,即char指針。 正如James所建議的,如果要存儲argv[1]的值(這是一個內存地址),則必須使用相同的類型,本例中為char *

如果您需要保存目錄路徑以進行任何類型的處理或操作,則需要執行類似的操作以將命令行參數存儲在char數組中。

char srcPath[100];
int i;
for (i = 0; argv[1][i] != '\0'; i++) {
    srcPath[i] = argv[1][i];
}

數組名稱是指針,因此使用下標[]取消引用。 對於存儲在argv[] char數組也可以這樣說。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM