Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C] leggere gli spazi

    Vorrei sapere come poter leggere anche gli spazi quando richiedo l'inserimento di una stringa.

    Ho fatto una prova con un programma che richiede l'inserimento di una frase da tastiera e scrive iil contenuto in un file.

    codice:
    #include <stdio.h>
    
    #define WAIT system("pause")
    
    int main()
    {
        char str[100];
        FILE *stream, *fopen();
        stream = fopen("mio.txt", "w");
        
        // testo il puntatore al file
        if (stream==NULL) {
           printf ("Errore! Non è stato possibile creare il file\n");
           WAIT;
           exit(1);
        }
        
        printf ("Inserire una frase: ");
        fscanf (stdin, "%s", str);
        fprintf (stream, "Frase inserita: %s", str);
        
        fclose(stream);
        WAIT;
        return 0;
    }
    Il problema è che non legge gli spazi.
    Se per esempio da tastiera inserisco:
    Ciao come stai , sul file mi ritrovo solo Ciao senza il resto della frase.

    Come posso leggere anche gli spazi?

  2. #2

    Re: [C] leggere gli spazi

    Originariamente inviato da devil89
    Vorrei sapere come poter leggere anche gli spazi quando richiedo l'inserimento di una stringa.

    Ho fatto una prova con un programma che richiede l'inserimento di una frase da tastiera e scrive iil contenuto in un file.

    codice:
    #include <stdio.h>
    
    #define WAIT system("pause")
    
    int main()
    {
        char str[100];
        FILE *stream, *fopen();
        stream = fopen("mio.txt", "w");
        
        // testo il puntatore al file
        if (stream==NULL) {
           printf ("Errore! Non è stato possibile creare il file\n");
           WAIT;
           exit(1);
        }
        
        printf ("Inserire una frase: ");
        fscanf (stdin, "%s", str);
        fprintf (stream, "Frase inserita: %s", str);
        
        fclose(stream);
        WAIT;
        return 0;
    }
    Il problema è che non legge gli spazi.
    Se per esempio da tastiera inserisco:
    Ciao come stai , sul file mi ritrovo solo Ciao senza il resto della frase.

    Come posso leggere anche gli spazi?
    Lascia che la scanf() segua il suo inevitabile destino
    Esempio :
    codice:
    #include <iostream.h>
    
    #define MAX_STR_LEN 40
    
    int main()
    {
    	char str[MAX_STR_LEN];
    	printf("Digita alcune parole (max %d caratteri)\n", MAX_STR_LEN);
    	fgets( str, MAX_STR_LEN, stdin);
    	printf("Hai digitato :\n%s", str);
    	return EXIT_SUCCESS;
    }
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.