Funzione elimina_spazi

di il
32 risposte

32 Risposte - Pagina 3

  • Re: Funzione elimina_spazi

    Ho cambiato
    
    char * elimina_spazi (char * str)
    {
        int x=0, y=0, i;
        
        /* elimino il carattere "a capo" al termine della riga  */
        i = 0;
        while(str[i] != '\n') i++;
            str[i] = '\0';
        
        for (i=0; i<strlen(str); i++) {
            if (str[i]==' ') {
                x=i;
                y=1;
                break;
            }
        }
        // codice che sposta le lettere
        if (y==1) {
            for (int i2=x; i2<strlen(str); i2++)
                str[i2]=str[i2+1];
        }
        
        return str;
    }
    
    Uso la fgets per leggere l'input
    
    printf("Inserisci luogo di nascita (senza lasciare spazi): ");
           fgets(luogo, sizeof(luogo), stdin);
           
            /* elimino il carattere "a capo" */
            i = 0;
            while(luogo[i] != '\n') i++;
            luogo[i] = '\0';
    
    Ma l'errore persiste ossia non mi permette di inserire il luogo
    printf("Inserisci luogo di nascita (senza lasciare spazi): ");
    
    ma calcola in automatico il codice fiscale e usa come luogo il codice catastale dell'ultimo paese scritto nel file.
  • Re: Funzione elimina_spazi

    Dopo l'ultima scanf usata prima della fgets che ti dà problemi devi svuotare il buffer di input con

    while(getchar() != '\n') ;
  • Re: Funzione elimina_spazi

    Grazie mille funziona. ma quando va usata quella istruzione?
Devi accedere o registrarti per scrivere nel forum
32 risposte