Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    32

    [C] input da tastiera di una frase

    codice:
    #include<stdio.h>
    #include<string.h>
    
    int main () {
    
    char v[20];
    
     printf("stampa una parola:");
     scanf("%s", v);
    
     printf("%s", v);
    
    return 0;
    }
    Se questo codice e' utilizzabile per stampare una parola , allora come posso fare per stampare una frase senza che venga troncata dopo il primo spazio?? Grazie mille in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Usa la fgets e non la scanf
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    semmai la gets, la fgets si usa per operare su file

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da giorgio_kollias
    semmai la gets, la fgets si usa per operare su file
    No no ... proprio la fgets
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    semmai la gets, la fgets si usa per operare su file
    Si può utilizzare anche la fgets,basta specificare come parametro
    codice:
    stdin

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da giorgio_kollias
    semmai la gets, la fgets si usa per operare su file
    Basta leggere la documentazione per vedere che fgets può leggere anche dalla tastiera :P

    Inoltre se usi la gets il compilatore ti avverte con una cosa del tipo "warning: the `gets' function is dangerous and should not be used."
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    32
    codice:
    #include <stdio.h> 
    #include <string.h> 
    void toLower(char *s) { 
    int i; for (i=0; i<strlen(s); i++)
    if ( (s[i]>='A') && (s[i]<='Z') ) 
    s[i]+=32;  }   
     int main() { 
    int i;  
    char s[20];  
    printf("stampa una frase:"); 
    gets(s);  
    printf("%s\n", s);  
    toLower(s); 
    printf ("Frase convertita completamente in caratteri minuscoli: %s\n",s); 
    return 0; }
    Grazie a tutti, ho scritto questo codice ( tralasciando la funzione ) per l'input da tastiera della frase e funziona

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Enna90

    gets(s);
    Con cosa compili, e come? La gets non è una funzione "sicura", usa fgets(stdin, 20, s);
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    32
    Uso dev .. Almeno mezzo mondo mi ha detto che è' super sorpassato ma è quello che il mio professore ci ha consigliato e che farà utilizzare all'esame

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma a parte Dev, potresti seguire il consiglio che ti si dà ... altrimenti che rispondiamo a fare ?

    Usa la fgets ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.