我在这里遇到了一些真正的麻烦,在项目选项本身(在“配置属性”->“调试”中)中为 Visual Studio 提供命令行参数。
在“int main(int main_i)
”不起作用之后,我写了这个“int main(int argc)
”。在 MS visual studio 属性页的项目命令行参数中,我不确定应该写什么。我只想传递一个整数来指定文件是要读取还是写入文件,因此仅仅是一个 int argc。我不需要 char *argv[]
。我在命令行参数文本框中尝试了一些值,但它在执行时没有到达 exe 文件,它显示了我根本没有输入的内容。
您能否提供一个简单的示例,说明我需要在 MSVS C++ 属性页的命令行参数空间中输入什么?我根本找不到任何有关如何将命令行参数提供给 MSVS 的示例。
我也不明白为什么我需要重建整个项目,即使我只是修改了命令行参数值??
最佳答案
如果您想让您的程序理解单个整数命令行参数,您仍然必须使用argc
和argv
。应该这样做:
int main(int argc, char *argv[]) {
if (argc < 2) {
fprintf(stderr, "Need a command line argument.\n");
exit(1);
}
int arg = atoi(argv[1]);
// now you have an integer
// do whatever with it...
}
C 标准要求 main
函数具有特定的参数集。允许的组合之一是 (int, char *[])
。您可以根据需要命名参数,但它们几乎总是被称为argc
和argv
。
关于c - int main(int argc, char *argv[]) 是必须写的吗,不能用其他名字代替argc和*argv[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11489387/