簡體   English   中英

將cmd行參數復制到數組中

[英]Copying cmd line arguments into an array

我試圖將命令行參數復制到C語言的數組中。例如,如果輸入./rpd 5 6 3那么我將擁有{5, 6, 3} ./rpd 5 6 3 {5, 6, 3}數組。

我的代碼是:

int main(int argc) {

    int numberInQueue;
    char *queueOfClients;
    int i;

    queueOfClients = malloc(sizeof(char*) * argc);

    for(i = 0; i <= argc; i++) {
        queueOfClients[i] = malloc(strlen(*(argc + i)) * sizeof(char));
    }
}

我似乎得到的錯誤是:

error: invalid type argument of unary '*' (have 'int')

如何解決此錯誤?

argc是傳遞給程序的參數的數量或數量。

您需要從雙指針argv解析實際參數。 不過,您首先需要列出argv作為輸入:

 int main (int argc, char *argv[])

例如,請查看此頁面。

http://www.thegeekstuff.com/2013/01/c-argc-argv/

C默認情況下帶有此數組。 您的main()應該如下所示:

int main(int argc, char *argv[])
{
}

argv正是您想要的:指向字符串的指針數組。 argc只是參數的數量。

暫無
暫無

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

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