Witajcie,
oto mój kod:
int main(int argc, string argv[])
{
if(argv[1] == 3)
{
printf("ok\n");
}
else
return 0;
}
Program się nie kompiluje, wywala błędy mówiące (chyba) o niepoprawnym porównywaniu pointerów (zmiennej?) z intem.
r.c:8:14: error: comparison between pointer and integer ('string' (aka 'char *') and 'int') [-Werror]
Co to oznacza? Debuger nie wie o co chodzi. Zamieniam 3 linijkę kodu na:
if(argv[1] == 'a')
I błąd cały czas ten sam.
Udało mi się zmodyfikować kod na tyle - że przynajmniej się kompiluje, ale nie mogę go w żaden sposób teraz uruchomić:
int main(int argc, string argv[])
{
int d = 4;
if((int)argv[1] == d)
{
printf("ok\n");
}
else
return 0;
}
no i dalej nie osiągnałem tego, czego chcę, a mianowicie - chciałbym, aby program otworzył się dopiero, jeżeli wpiszę w konsolę ./nazwaprogramu 4 ... albo, idąc krok dalej - ./nazwaprogramu jakakolwiekliczbacałkowita.
Mógłby ktoś mi powiedzieć czego nie rozumiem? a jeszcze lepiej - wprost dlaczego mi to nie działa, jak to poprawić?
Dziękuję i pozdrawiam