[英]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[])
例如,請查看此頁面。
C默認情況下帶有此數組。 您的main()應該如下所示:
int main(int argc, char *argv[])
{
}
argv
正是您想要的:指向字符串的指針數組。 argc
只是參數的數量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.