|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2007
Città: Predazzo prov di trento
Messaggi: 13
|
[c] Problema in c con fgets()
ciao,
ho un problema con la funzione fgets(). io devo leggere da stdin delle parole per poi processarle, il mio problema è che se non inserisco nessuna parola e premo il tasto invio il mio programma esce dandomi segmentation fault. vi posto il codice: printf("\nPer connetterti ad un server utilizza il comando connect to + nome biblioteca\n"); sattivo=0; while(sattivo!=1){ printf("-->"); fgets(string,sizeof(string),stdin); decriptacomando(string, comando, ¶metro); printf("%s",comando[0]); if((strcmp(comando[0], "connect")==0)&&(strcmp(comando[1], "to")==0)){ // Apro la fifo del server in scrittura if((sscrittura = open(comando[2],O_WRONLY))<0){ printf("\tIl server non è avviato\n"); printf("\tRiprovare a connettersi\n"); } else{ sattivo=1; } } else if(strcmp(comando[0], "exit")==0){ printf("arrivederci\n"); exit(1); } else { printf("Comando inserito per la connessione non corretto. RIPROVA\n"); } } printf("il server è attivo\n"); |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: May 2007
Città: Predazzo prov di trento
Messaggi: 13
|
Problema risolto con l'inserimento di queste 4 righe dopo fgets
if (string[0]== '\n'){ printf("Comando non inserito\n"); continue; } Codice:
printf("\nPer connetterti ad un server utilizza il comando connect to + nome biblioteca\n");
sattivo=0;
while(sattivo!=1){
printf("-->");
fgets(string,sizeof(string),stdin);
if (string[0]== '\n'){
printf("Comando non inserito\n");
continue;
}
decriptacomando(string, comando, ¶metro);
printf("%s",comando[0]);
if((strcmp(comando[0], "connect")==0)&&(strcmp(comando[1], "to")==0)){
// Apro la fifo del server in scrittura
if((sscrittura = open(comando[2],O_WRONLY))<0){
printf("\tIl server non è avviato\n");
printf("\tRiprovare a connettersi\n");
}
else{
sattivo=1;
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:48.



















