Pagina 1 di 1
segmentation fault nell'uso degli argomenti di main
Inviato: sab 18 ott 2008, 22:53
da gattino_usb
Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "netbcast.h"
#include "maskdec.h"
int main(int argc, char *argv[])
{
char nb[] = "-nb";
char md[] = "-md";
if (strcmp(argv[1],nb) == 0)
{
netbcast();
}
else if (strcmp(argv[1],md) == 0)
{
maskdec();
}
else
{
printf ("Per avere l'help, inserire come argomento -h \n");
}
return 0;
}
compilo e mi da Segmentation Fault
dove sto sbagliando?

Re: segmentation fault nell'uso degli argomenti di main
Inviato: sab 18 ott 2008, 23:09
da nyquist
Ciao,
non vorrei dire una cavolata, ma così di primo acchito mi verrebbe da fare:
prima del main ci metti:
nel main ci metti:
e poi:
al posto di
questo vale anche per l'altra stringa dichiarata sotto...
Premetto, non so se ho interpretato bene...
Re: segmentation fault nell'uso degli argomenti di main
Inviato: sab 18 ott 2008, 23:15
da gattino_usb
mi spiego meglio, praticamente in base all'argomento del programma vorrei far eseguire una funzione diversa...
lo strcmp dovrebbe comparare l'argomento passato al programma con delle scelte standard
esempio ./a.out -nb
dovrebbe eseguire la funzione nb();
sono nuovo di queste funzioni di comparazione tra stringhe :S e non riesco a capire dove sia l'errore...
in pratica se non do nessun argomento al programma, mi va in segmentation fault, altrimenti funziona correttamente.
Re: segmentation fault nell'uso degli argomenti di main
Inviato: sab 18 ott 2008, 23:24
da nyquist
mmmhh...
Prova ad aggiungere:
subito dopo la dichiarazione delle stringhe nel main...
Re: segmentation fault nell'uso degli argomenti di main
Inviato: sab 18 ott 2008, 23:31
da gattino_usb
nyquist ha scritto:mmmhh...
Prova ad aggiungere:
subito dopo la dichiarazione delle stringhe nel main...
mi hai risolto il problema

grazie mille...
praticamente se il numero di argomenti non è due (il nome del programma ed il secondo argomento) esce dando il valore della costante EXIT_FAILURE? ho capito bene?
grazie mille comunque

Re: segmentation fault nell'uso degli argomenti di main
Inviato: sab 18 ott 2008, 23:37
da nyquist
Sì esattamente!
Di nulla figurati!
Ciao!