# 8.2 - Argumentos da função main
Também podemos passar argumentos para a função main, como vimos ela é uma função como qualquer outra
Temos várias formas de receber argumentos, mas o tipo mais utilizado é <int argc, char *argv[]>
#include <iostream>
int main(int argc,char *argv[])
{
/*|--------------------------------------|
*| |
*| He4rt Developers |
*| |
*|--------------------------------------|
*/
// Argc é a quantidade de argumentos recebidos, argc já inicia com um argumento, o proprio nome do .exe
// Argv são os nomes dos argumentos em si, em um vetor de string's
std::cout << argc << std::endl; // 1 como padrão
std::cout << argv[0] << std::endl; // argv[0] sempre tera o nome do .exe
}
Para passar argumentos para ela, precisa abrir o .exe pelo cmd, e na sua frente os argumentos, separados por espaço
nome_do_programa.exe argumento1 argumento2 ...
Assim podemos modificar a forma de execução do nosso código
#include <iostream>
#include <cstdlib>
int main(int argc, char **argv)
{
/*|--------------------------------------|
*| |
*| He4rt Developers |
*| |
*|--------------------------------------|
*/
int a = 5, b = 2;
if(argc > 1) // Recebeu argumentos além da inicial
{
std::cout << (a + b) << std::endl;
}
else
{
std::cout << a << " " << b << std::endl;
}
return EXIT_SUCCESS;
}
WARNING
Dependendo de sua IDE você pode ter problemas na hora de comparar argumentos da função main, recomendamos a utilização do cli.cpp