這是一個非常基本的問題,但我無法在任何地方找到明確的答案。 我理解的主要參數,只要它們指的是什麼:C - main()命令行參數
int main(int argc, char *argv[])
這裏的argc指的命令行參數和argv數是指包含每個字符串數組。我從.c文件創建了源代碼的exe文件,但沒有使用命令提示符的經驗,也不理解命令行參數的語法。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *infile, *outfile;
int iochar;
if(argc != 3){
printf("Usage: filename infile outfile\n");
exit(1);
}
if((infile = fopen(argv[1], "r")) == NULL){
printf("Can't open input file.\n");
exit(1);
}
if((outfile = fopen(argv[2], "w")) == NULL){
printf("Can't open output file.\n");
exit(1);
}
while((iochar = getc(infile))!=EOF){
putc(iochar, outfile);
}
fclose(infile);
fclose(outfile);
printf("You've reached the end of the program.\n");
return;
}
上述代碼應該帶3個參數並將第2個參數的內容複製到第3個參數的位置。我該怎麼做才能發生?
您似乎在這裏提出兩個問題,它們似乎沒有關係。第一個 - 「這些論據都存儲在哪裏」 - 沒有任何意義。它們作爲函數'main()'的參數提供。 –
爲了理解這裏發生了什麼,首先在'if(argc!= 3)'行設置一個斷點,然後檢查'argc'和'argv'的內容。 –
@sudowned我想一個更好的措辭它是我如何提供參數的命令提示符?我似乎無法達到命令提示符接受任何輸入的地步。 – Aleyha