Übergabeparameter an die main

Hallo Leute,

meine Mainfunktion ist folgend deklariert:

 int main (int argc, const char * argv])

ich rufe das Programm auf mit

  ./programm 123.123.123.123

um auf die IP Adress 123.123.123.123 zuzugreifen.
Ich würde aber gerne die IP-Adresse fest im Programm vergeben.
aber leider geht const char * argv]=123.123.123.123; nicht.

Habt ihr eine Idee ?

argv] ist ein Array vom Typ char, also Buchstaben. Da C keine Strings kennt, werden diese in char-Arrays abgelegt. Wenn du dieses Array nun füllen willst kannst du entweder jede Stelle einzeln per argv[0] = ‘1’ usw. befüllen (letztes Zeichen muss der Null-Character ‘\0’ zur Terminierung sein) oder du gibst ein Stringliteral an:
argv] = “123.123.123.123”;

argv kein c-string, sondern ein array aus c-strings.
Denn es kann ja mehr als einen kommandozeilen parameter geben.
Daher wird auch argc uebergeben, damit bekannt ist wieviele parameter es sind,
also wie lang das array ist.

wenn du also einen solchen aufruf hast: ./programm 123.123.123.123 9234 Test
Dann ist argc 4, also geht argv von argv[0] bis argv[3]
argv[0]="./programm"
argv[1]=“123.123.123.123”
argv[2]=“9234”
argv[3]=“Test”

crasseux.com/books/ctutorial … -argv.html