Gcc 运行C++;具有可变输入的程序 如何从命令行运行C++代码(test .CPP)为:
/我是 其中l和m=test.cpp的输入变量 solve是test.cpp的对象/可执行文件 我知道我可以用 g++test.cpp-o solve 但是我该怎么做呢 /solve l mGcc 运行C++;具有可变输入的程序 如何从命令行运行C++代码(test .CPP)为:,gcc,g++,runtime,variable-assignment,Gcc,G++,Runtime,Variable Assignment,/我是 其中l和m=test.cpp的输入变量 solve是test.cpp的对象/可执行文件 我知道我可以用 g++test.cpp-o solve 但是我该怎么做呢 /solve l m 工作;I和m都将在主函数中的**argv中接收您不需要做任何特殊的事情来从命令行接收参数;I和m都将在主函数中的**argv中接收特别是,argc包含argv中的条目数。argvargv中的第一个条目通常是程序名,因此您需要检查该条目之后的元素,前提是存在任何元素。对于更复杂的程序,解析命令行参数可能是一件
工作;I和m都将在主函数中的
**argv
中接收您不需要做任何特殊的事情来从命令行接收参数;I和m都将在主函数中的**argv
中接收特别是,argc
包含argv
中的条目数。argvargv
中的第一个条目通常是程序名,因此您需要检查该条目之后的元素,前提是存在任何元素。对于更复杂的程序,解析命令行参数可能是一件痛苦的事情。在这种情况下,Boost.ProgramOptions可能会引起您的兴趣
为了获得每个参数的大小,您可能会发现
cstdlib
中的strlen
非常有用。尤其是argc
包含argv
中的条目数。argvargv
中的第一个条目通常是程序名,因此您需要检查该条目之后的元素,前提是存在任何元素。对于更复杂的程序,解析命令行参数可能是一件痛苦的事情。在这种情况下,Boost.ProgramOptions可能会引起您的兴趣
为了获得每个参数的大小,您可能会发现cstdlib
中的strlen
非常有用。Main()接受两个输入。第一个(argc)是输入的数量(在您的例子中是2、l和m),它将这两个输入放入char*数组(argv[])。所以大体上你应该做:
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
cout << "argc = " << argc << endl;
for(int i = 0; i < argc; i++)
cout << "argv[" << i << "] = " << argv[i] << endl;
return 0;
}
#包括
使用名称空间std;
intmain(intargc,char*argv[]){
coutMain()接受两个输入。第一个(argc)是输入的数量(在您的示例中为2、l和m),它将这两个输入放入char*数组(argv[])。因此在Main中,您可以执行以下操作:
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
cout << "argc = " << argc << endl;
for(int i = 0; i < argc; i++)
cout << "argv[" << i << "] = " << argv[i] << endl;
return 0;
}
#包括
使用名称空间std;
intmain(intargc,char*argv[]){
cout您可以从主函数中提取“参数”。您必须解析它们,并确保它们对您的程序可用
int main( int argc, const char* argv[] )
int argc->参数数量
常量char*argv[]是参数的实际数组。
请注意,第一个参数是程序的名称。
然后在命令行中写出所有其他参数。您可以从主函数中提取“参数”。您必须解析这些参数,并确保它们对您的程序可用
int main( int argc, const char* argv[] )
int argc->参数数量
常量char*argv[]是参数的实际数组。
请注意,第一个参数是程序的名称。
然后是您在命令行中写下的所有其他索引。您是从arg[1]而不是arg[0]读取的吗?我自己对此不太了解,但我相信您是从第二个索引而不是第一个索引读取的。您是从arg[1]而不是arg[0]读取的吗?我自己对它不太了解,但我相信您是从第二个索引而不是第一个索引中读取的。我认为这取决于您运行的C运行时/平台。第一个参数通常是在大多数Unix系统上运行的程序的名称,对我来说也是如此,因此当程序在没有参数的情况下运行时,argc是1。我认为这取决于t您运行的是C运行时/平台。第一个参数通常是在大多数Unix系统上运行的程序的名称,对我来说是这样,因此当程序在没有参数的情况下运行时,argc是1。