Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    [C++] Stringhe con spazi

    Salve gente!
    allora, ho una stringa vuota, 80 char,
    input dell'utente: gli spazi devono essere supportati.
    Come sapete con scanf() ad ogni spazio la stringa è troncata.
    Mi avevano detto una funzione x includerli.... qualcosa che centrava con cin.qualcosa...
    chemmiditeapproposito??
    Arigatou
    Sayounara
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  2. #2
    Ciao,
    usa gets()

    ciao

  3. #3
    no, gets() non funziona con le stringhe e con gli spazi
    si ferma a carattere nullo, cioè lo spazio
    grazie cmq
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  4. #4
    No, funziona, l'hai provata?

    Dal MSDN:

    The gets function reads a line from the standard input stream stdin and stores it in buffer. The line consists of all characters up to and including the first newline character ('\n').

    prova:

    #include <stdio.h>

    void main( void )
    {
    char line[81];

    printf( "Input a string: " );
    gets( line );
    printf( "The line entered was: %s\n", line );
    }

    ciao

  5. #5
    ummm starno a me non funge ne su MS Winz ne su linux
    strano...
    grazie cmq
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    167
    Io so che gets() accetta tutti i caratteri fino al primo carattere di nuova linea (quindi fino a quando non si digita INVIO) e aggiunge in fondo alla stringa un carattere NULL, restituendo un puntatore alla stringa.
    Però mi sembra che in certi compilatori tempo fa veniva definita deprecated, cioè valida, ma il suo utilizzo era sconsigliabile.
    Può darsi sia per questo che crea problemi, prova fgets() definendo come prime parametro il flusso di input, oppure forse sscanf() (adesso non ho sotto mano un compilatore e non posso testarlo).
    Ciao.

  7. #7
    umm proverò
    Arigatou r°>
    ciauz
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  8. #8
    Allora, cambio problema. Adesso le stringhe non sono Stringhe C, ma sono classi string, dello Standard Template Library, quindi C++.

    Come faccio a prendere anche gli spazi?

    Danke
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  9. #9
    cin.getline(nomevar,lunghezza);

    ???
    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

  10. #10
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Ciao akiross, sei quello del forum di mp.it vero?

    Qui di seguito un pezzo di codice che dovrebbe fare al caso tuo, appena compilato da me con gcc 3 su linux ma è scritto in ANSI C++, quindi dovrebbe girare su qualsiasi compilatore ANSI.


    #include <iostream>
    #include <string>

    void main ()
    {
    string stringa;
    getline (cin, stringa);
    cout << stringa << endl;
    }
    ChReAn
    -------------------

    Slackware 9.1 powered

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.