Parsowanie argumentów z linii poleceń
Ostatnio zmodyfikowano 2014-11-27 22:44
bingo009 Temat założony przez niniejszego użytkownika |
Parsowanie argumentów z linii poleceń » 2014-11-27 22:04:36 Witam was serdecznie, usiłuję zrobić pewien program. Program ma przyjmować argument w postaci pliku, jeżeli jednak argument to -v lub --version, to ma on wyświetlić wersję programu i zakończyć go. Niestety jednak, całkiem ignoruje on if'a takiego: if( argc >= 2 && argv[ 1 ] == "-v" || argv[ 1 ] == "--version" ) { return 0; }
W dalszej części mam ładowanie pliku i inne nieistotne rzeczy. Problem polega na tym, że ten if jest ignorowany. Mimo podania prawidłowego argumentu, to i tak program przechodzi do ładowania pliku i wyrzuca błąd, że nie może załadować pliku. Próbowałem też za pomocą strcmp, ale też nie chciało zadziałać. Jak to zrobić? |
|
pekfos |
» 2014-11-27 22:19:47 Porównujesz wskaźniki, a nie teksty. strcmp(). Próbowałem też za pomocą strcmp, ale też nie chciało zadziałać. |
Aha. W każdym razie byłeś bliżej rozwiązania niż teraz. |
|
bingo009 Temat założony przez niniejszego użytkownika |
» 2014-11-27 22:33:46 A jak to powinno chociaż wyglądać?
Edit: Nie ważne, poszukałem i poprostu zrobiłem rzutowanie do std::string. Teraz jest dobrze. Dzięki za podpowiedź, zamykam. |
|
akwes |
» 2014-11-27 22:44:48 |
|
« 1 » |