Miren, intento hacer un programa que agarre el segundo argumento que se le pase desde la línea de comandos y luego este imprima un mensaje si es el correcto:
Algo por ejemplo así:
programa.exe argumento.
Luego dentro del programa se comparará si ese argumento es el que está dentro ya establecido o otro, de ser así imprimirá un mensaje en la pantalla.
Pero no sé qué estoy haciendo mal, este es el código que llevo:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
/*
cout << "Cantidad de argumentos: " << argc << endl;
for(int i = 0; i < argc; i++) {
cout << argv[i] << endl;
}*/
//cout << argv[1] << endl;
if(argv[1] == (char*)"123") {
cout << "Argumento correcto." << endl;
}
cin.get();
return 0;
}
Gracias de antemano. :D
Prueba esto
#include<iostream>
#include<cstring>
using namespace std;
int main(int argc, char* argv[])
{
string palabra="soy la palabra";
if (strcmp(argv[1],palabra.c_str())==0){
cout<<"Son iguales "<<endl;
}
else{
cout<<"Son diferentes"<<endl;
}
cin.get();
return 0;
}
//---------------------------------------------------------------------------
Hombre gracias, me he olvidado por completo que en C++ no se pueden comparar cadenas con "==" así no más. Hahah :)
Sí que se puede, si usas el tipo std::string.