Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Zodiak98 en 29 Julio 2015, 00:47 AM

Título: Pregunta sobre condicional If.
Publicado por: Zodiak98 en 29 Julio 2015, 00:47 AM
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:

Código (cpp) [Seleccionar]

#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
Título: Re: Pregunta sobre condicional If.
Publicado por: crack81 en 29 Julio 2015, 01:00 AM
Prueba esto

Código (cpp) [Seleccionar]
#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;
}
//---------------------------------------------------------------------------
Título: Re: Pregunta sobre condicional If.
Publicado por: Zodiak98 en 29 Julio 2015, 01:07 AM
Hombre gracias, me he olvidado por completo que en C++ no se pueden comparar cadenas con "==" así no más. Hahah :)
Título: Re: Pregunta sobre condicional If.
Publicado por: joecarl en 29 Julio 2015, 08:19 AM
Sí que se puede, si usas el tipo std::string.