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

    [C++] Input classi string con spazi

    Ciao
    come posso ottenere l'input da uno stream qualsiasi (mi interessa soprattutto cin) di una stringa con spazi, che andra' messa in un oggetto string [STL]?

    Cioe', avuto un oggetto del tipo string, come posso riceverne l'input se la stringa ha gli spazi?

    io ho provato con le normali cin, ma non riesco, quando ho gli spazi va tutto a pu****e. Ho visto che con get, getline non si puo', dato che hanno un char * come buffer, e non supprotano l'oggetto string (o cosi' sembra)

    Se possibile vorrei un metodo che funzionasse anche con uno stream qualsiasi, diverso da cin.

    grazie
    ciao
    #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
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    #include <conio.h>

    int main(void)
    {

    char buffer[83];

    char *t;

    t = cgets(buffer);

    cprintf("%s",t);

    getch();

    return 0;
    }

  3. #3
    ummm non si riesce a fare con l'ANSI? la conio e' solo per M$ DOS o Win

    io faccio anche per linux

    grazie comunque
    ciao
    #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
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    Dimmi se la libreria bios.h è standard, se lo è ti faccio uan funzioncina di acquissizione...

  5. #5
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    Ho guardato io, mi dispiace io non lavoro in linux e non so risolverti il problem.

  6. #6
    ah, ok
    grazie comunque per l'interessamento.

    grazie
    ciao
    #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 :]

  7. #7
    ::getline. Funziona come istream::getline ma invece di char* prende un riferimento a string:

    codice:
    getline( istream&, string&, char = '\n' );
    (In realta` e` un template ma questo e` l`uso piu` comune).

    debbelandia .. finiscila con il tuo codice paleolitico.

  8. #8
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    e perchè sarebbe paleolitico?

  9. #9
    ah, ok r0x
    nul manuale non avevo questo riferimento, ma avevo getline a sole stringe C.

    Grazie
    ciao
    #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 :]

  10. #10
    ehmmm
    ho provato con

    getline(cin, str);

    ma decisamente non funziona...
    appena metto qualcosa (anche senza spazi), il programma inizia un bel ciclo infinto....
    come quando si inserisce un carattere alla richiesta:
    cin >> (int)val;

    o almeno, a me va in ciclo infinto

    Che fo?
    Grazie
    ciao
    #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 :]

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