Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Wiki Markup
h1. Komentoriviargumentit

Komentoriviargumenteilla voidaan antaa ohjelmalle tietoa sen käynnistyessä.

Komentoriviargumenttien määrittely:
{code}
int main(int argc, char** argv)
{code}
Tässä {{int argc}} pitää sisällään komentoriviargumenttien lukumäärän.
Taas {{char** argv}} pitää sisällään merkkijonotaulukon. Tämä voidaan kirjoittaa myös {{char *argv[]}}.

Esimerkiksi {{ohjelma.exe}} voidaan käynnistää seuraavasti:

{noformat}
ohjelma.exe -i 2 -g -x 3 4
{noformat}

jolloin ohjelma ottaa vastaan seuraavat arvot:

{noformat}
argc = 7
argv[0] = "ohjelma.exe"
argv[1] = "-i"
argv[2] = "2"
argv[3] = "-g"
argv[4] = "-x"
argv[5] = "3"
argv[6] = "4"
{noformat}

{note}Huom! Kaikki argumentit ovat merkkijonoja.{note}

h2. Esimerkki

Yllä olevan listauksen aikaansaaminen koodina:

{code}
#include < stdio.h>

int main(int argc, char** argv)
{
    int i;

    printf("argc = %d\n", argc);
    for (i = 0; i < argc; i++) {
        printf("argv[%d] = \"%s\"\n", i, argv[i]);
    }

    return 1;
}
{code}