Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wprowadzanie danych do programu z linii poleceń.

Ostatnio zmodyfikowano 2015-11-18 22:07
Autor Wiadomość
ProgrAmator96
Temat założony przez niniejszego użytkownika
Wprowadzanie danych do programu z linii poleceń.
» 2015-11-16 18:27:51
Witam.
Chcę napisać taki program:
 
              "Program generujący kalendarz na zadany rok. Numer roku podawany jest po przełączniku -r. Pierwszy dzień tygodnia jest ustawiany po przełączniku -d jako pojedynczy znak: n – niedziela, o – poniedziałek, w – wtorek, s – środa, c – czwartek, t – piątek, b – sobota. Gotowy kalendarz jest zapisywany do pliku wyjściowego, którego nazwa podana jest po przełączniku -o. Przykładowe wywołanie programu: program.exe -o kal2013 -d o -r 2013
           Program jest uruchamiany z linii poleceń.
           Parametry przekazywane są do programu z linii poleceń."

Dopiero zapoznaje się z językiem C++ i jest to pierwszy język programowania, którego się uczę.
          
W związku z tym mam podstawowe pytanie: W jaki sposób odbywa się wczytywanie parametrów z konsoli do programu i z czego ewentualnie powinna się składać funkcja to umożliwiająca ?

P-140223
Gibas11
» 2015-11-16 19:42:24
Żadnej funkcji nie trzeba, poza
main
 oczywiście. :) Sprawa jest banalna:
C/C++
int main( int argc, char ** argv )
{
    for( int i = 0; i < argc; i++ )
         cout << argv[ i ] << endl;
   
    return 0;
}
int main( int argc, char ** argv )
 Deklaracja funkcji main przyjmującej argumenty przechowujące kolejno ilość argumentów i tablicę ciągów znaków.
Program wypisze na wyjściu kolejno wszystkie argumenty, przy czym należy pamiętać, że pierwszym (argv[0]) zawsze jest nazwa programu.

Ps. Google nie boli, możesz czasem spróbować.
P-140230
michal11
» 2015-11-16 19:43:09
int main( int argc, char * argv[] )

Tak powinna wyglądać twoja funkcja main, gdzie argc będzie liczbą określającą ilość parametrów (dokładnie słów - c-stringow) przekazanych w linii poleceń, a kolejne pola tablicy argv to kolejne argumenty przekazane w linii poleceń, przykład:
./prog 1 aa -3 -asd

wtedy:
C/C++
argc = 5;
argv[ 0 ] = "./prog";
argv[ 1 ] = "1";
argv[ 2 ] = "aa";
argv[ 3 ] = "-3";
argv[ 4 ] = "-asd":

żeby łatwiej korzystać z "przełączników" możesz użyć funkcji getopt().
P-140231
Gibas11
» 2015-11-16 19:48:05
@up W przykładowym poleceniu podał
program.exe
, unistd.h chyba odpada. :/
P-140232
ProgrAmator96
Temat założony przez niniejszego użytkownika
» 2015-11-18 22:07:19
Dziękuję wam bardzo, już ogarnąłem sposób.
P-140361
« 1 »
  Strona 1 z 1