请教:code blocks下如何给main函数传递参数?

时间:2021-12-29 21:28:20
windows下安装的code blocks,用的GNU GCC的编译器
网上说用命令行,不知道具体怎么操作啊?
code blocks需要设置什么,windows呢?

如题,谢谢!

10 个解决方案

#1


Project-Set program's arguments-Select your current target-Program arguments里填你需要的参数

#2


用cmd调用 生成的exe肯定可以的

#3


MingGW

#4


引用 1 楼 xunxun1982 的回复:
Project-Set program's arguments-Select your current target-Program arguments里填你需要的参数


我想给*argv[]传入“aa” “bb”,就是直接填:aa bb吗?为什么我cout<<*argv[1]没有任何反应呢?

#include <iostream> 


using namespace std;

int main(int argc,char *argv[])
{
    std::cout<<"\n"<<argc<<argv[0]<<argv[1]<<endl;
    return 0;
}

#5


#include <iostream>

using namespace std;

int main(int argc,char *argv[])
{
  std::cout<<"\n"<<argc<<argv[0]<<argv[1]<<endl;
  return 0;
}

#6


引用 5 楼 rikimaru2 的回复:
C/C++ code
#include <iostream>

using namespace std;

int main(int argc,char *argv[])
{
  std::cout<<"\n"<<argc<<argv[0]<<argv[1]<<endl;
  return 0;
}

我这里没有问题
直接填入的aa bb

确定你当前的Target是Debug还是Release
他俩可以有不同的参数

#7


你这个 有了using namespace std了 
后面的cout前面的std就可以不写了。。。。
另外要达到你要的结果
步骤一:编译好程序
步骤二:到达你的程序的目录打开debug里面应该有你的程序的exe文件
步骤三:打开命令行即cmd
步骤四:运行你的程序,比如程序名是a.exe 则命令行输入:a.exe aa bb 敲回车
步骤五:完成。

#8


引用 6 楼 xunxun1982 的回复:
引用 5 楼 rikimaru2 的回复:

C/C++ code
#include <iostream>

using namespace std;

int main(int argc,char *argv[])
{
std::cout<<"\n"<<argc<<argv[0]<<argv[1]<<endl;
return 0;
}

我这里没有问题
直接填入的a……


#include <iostream>

using namespace std;

int main( int argc, char* argv[] )
{
  for ( int i = 0; i != argc ; i++ ) {
      cout << argv[i] << endl;
    }

  return 0;
}


确实可以 
中文是: 菜单->项目->设置程序参数
参数参数 : using namespace std;

输出结果:
E:\mycpp\11\bin\Debug\11.exe
using
namespace
std;

Process returned 0 (0x0)   execution time : 0.047 s
Press any key to continue.

#9


LS你又把CB给汉化了……

#10


引用 9 楼 xunxun1982 的回复:
LS你又把CB给汉化了……


我一直 用中文的软件,使用英语不习惯

#1


Project-Set program's arguments-Select your current target-Program arguments里填你需要的参数

#2


用cmd调用 生成的exe肯定可以的

#3


MingGW

#4


引用 1 楼 xunxun1982 的回复:
Project-Set program's arguments-Select your current target-Program arguments里填你需要的参数


我想给*argv[]传入“aa” “bb”,就是直接填:aa bb吗?为什么我cout<<*argv[1]没有任何反应呢?

#include <iostream> 


using namespace std;

int main(int argc,char *argv[])
{
    std::cout<<"\n"<<argc<<argv[0]<<argv[1]<<endl;
    return 0;
}

#5


#include <iostream>

using namespace std;

int main(int argc,char *argv[])
{
  std::cout<<"\n"<<argc<<argv[0]<<argv[1]<<endl;
  return 0;
}

#6


引用 5 楼 rikimaru2 的回复:
C/C++ code
#include <iostream>

using namespace std;

int main(int argc,char *argv[])
{
  std::cout<<"\n"<<argc<<argv[0]<<argv[1]<<endl;
  return 0;
}

我这里没有问题
直接填入的aa bb

确定你当前的Target是Debug还是Release
他俩可以有不同的参数

#7


你这个 有了using namespace std了 
后面的cout前面的std就可以不写了。。。。
另外要达到你要的结果
步骤一:编译好程序
步骤二:到达你的程序的目录打开debug里面应该有你的程序的exe文件
步骤三:打开命令行即cmd
步骤四:运行你的程序,比如程序名是a.exe 则命令行输入:a.exe aa bb 敲回车
步骤五:完成。

#8


引用 6 楼 xunxun1982 的回复:
引用 5 楼 rikimaru2 的回复:

C/C++ code
#include <iostream>

using namespace std;

int main(int argc,char *argv[])
{
std::cout<<"\n"<<argc<<argv[0]<<argv[1]<<endl;
return 0;
}

我这里没有问题
直接填入的a……


#include <iostream>

using namespace std;

int main( int argc, char* argv[] )
{
  for ( int i = 0; i != argc ; i++ ) {
      cout << argv[i] << endl;
    }

  return 0;
}


确实可以 
中文是: 菜单->项目->设置程序参数
参数参数 : using namespace std;

输出结果:
E:\mycpp\11\bin\Debug\11.exe
using
namespace
std;

Process returned 0 (0x0)   execution time : 0.047 s
Press any key to continue.

#9


LS你又把CB给汉化了……

#10


引用 9 楼 xunxun1982 的回复:
LS你又把CB给汉化了……


我一直 用中文的软件,使用英语不习惯