Segmentation fault bei fehlenden Parameter

Many0815

Mitglied
Hallo Leute :)

Also meine Frage ist eher eine interessens Frage.

Folgendes:
Ich hab mir 2 Programme geschrieben, welche über UDP Sockets miteinander reden.
(Das ganze läuft auf nem Linux Embedded System)

Beim Aufruf des Programms muss ich eine Portnummer übergeben. Ok das funktioniert ja auch alles ganz gut.

Wenn ich nun beim Aufruf den Parameter nicht übergebe, sollte das Programm dann die richtige Verwendung ausschreiben.
Aber ich bekomme einen Segmentation fault.

Ich weis was ein Segmentation fault ist. Und alles funktioniert wenn mans richtig eingiebt ;)

Aber wie gesagt würde es mich interessieren warum dass nun so ist...
Hoffe irgendwer versteht was ich will ;)

Cheers Many
 
Hey

Code:
int main (int argc, char *argv[])
{

  if (argc < 1)
  {
	  printf ("Usage> TestProg  <Port number>\n");
     	  return 0;
  }

ja bisher hab ichs so bei allen Programmen gemacht.
Keine ahnung warum er sich aufeinmal aufregt...

Cheers Many
 
Hi

argc ist bei keinen Parametern 1, weil der Programmname
als "erster" Parameter [0] übergeben wird.
Mach im if ein "<2" usw...
 
Zurück