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

    [C++] lettura da file parola per parola

    Ho un ricordo molto vago, in C++ è possibile leggere file parola per parola? Cioè anzichè leggere un carattere alla volta leggere una parola alla volta fino ad incontrare uno spazio?
    Ovviamente volevo sapere se esiste una funzione standard, altrimenti me la scrivo da zero.
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    È quello che fa normalmente
    codice:
    cin >> s;
    quando s è di tipo string o char *. Ad esempio
    codice:
    #include <iostream>
    using namespace std;
    
    int main(void) {
        string s;
        int i = 0;
        do {
            cin >> s;
            cout << ++i << ": " << s << endl;
        } while(!cin.eof());
        return 0;
    }
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Se str è una string e fin è un oggetto ifstream con cui hai aperto il file, basta scrivere

    fin >> str;

    per leggere una parola
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Grazie mille ad entrambi, era da un po che non lo usavo
    Ne approfitto per chiedervi se esiste una funzione che "toglie" da una stringa tutte le occorrenze di un certo carattere.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Qualcosa la devi scrivere tu ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Ho scritto questo:
    codice:
    void toglicarattere (string str, char c) {
         int l=str.size();
         for (int i=0;i<l;i++)
             if (str[i]==c)
                str.erase(i,1);
    }
    ma giustamente dovrei passare la stringa per riferimento affinchè abbia un senso fare questo lavoro.
    Qual'è la sintassi per passare per riferimento una stringa?
    E dopo questo per stasera vi lascio in pace

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Puoi scrivere

    codice:
    #include <iostream>
    #include <string>
    #include <algorithm>
    
    
    using namespace std;
    
    
    string removechar(string s, char c)
    {
        s.erase(remove(s.begin(), s.end(), c), s.end());
        return s;
    }

    e usare la funzione removechar
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.