这是一个非常基本的问题,但我无法在任何地方找到明确的答案。 我理解的主要参数,只要它们指的是什么: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