Conteggio caratteri file txt

di il
31 risposte

Conteggio caratteri file txt

Ciao a tutti. Voglio scrivere un programma in C++ che chieda all'utente di inserire in una stringa il nome di un file (che ovviamente posizionerò nella stessa cartella dell' .exe), poi chieda di inserire un carattere e infine conti quante volte il carattere viene ripetuto all'interno del testo.
Il mio problema è che non so nemmeno come far leggere al programma il file txt...qualcuno mi può dare una mano? Grazie

31 Risposte

  • Re: Conteggio caratteri file txt

    http://www.cplusplus.com/reference/iostream/ifstream
  • Re: Conteggio caratteri file txt

    Ok. E se io chiedo all'utente di inserire il nome del file in una stringa chiamata fileName, è giusto scrivere
    ifstream open (fileName.txt) ? Perchè nell'esempio c'è anche il comando infile ma non credo di averlo mai visto...in effetti ho qualche problema con la sintassi...
  • Re: Conteggio caratteri file txt

    Infile non è una funzione ma una variabile di tipo ifstream.

    http://www.cplusplus.com/reference/iostream/ifstream/open/

    vedi l'esempio del commando. infile è la variabile. quindi e come dire:
    ifstream infile;
    string text;

    infile.open(...)
    text.substr(....)

    come vedi ogni classe può contenere delle funzioni e open è uno delle funzioni integrate in ifstream.
  • Re: Conteggio caratteri file txt

    Ah. quindi, tornando al mio caso, io dovrei scrivere
    ifstream infile;
    infile.open (fileName.txt) ??
    o devo inserire un'altra riga per indicare che fileName è la mia stringa? Non ho capito cosa vuol dire text.substr che hai scritto tu...a cosa si riferisce?
  • Re: Conteggio caratteri file txt

    Il tuo esempio può essere scritto così:
    
    string filePath;
    cout << "Inserisci nome file" << endl;
    cin >> filePath;
    ifstream infile;
    infile.open(filepath,ios::in);
    ecc....
    
  • Re: Conteggio caratteri file txt

    Perfetto. devo chiederti ancora una cosa: cosa vuol dire
    
    ios::in
    
    nella quinta riga?
  • Re: Conteggio caratteri file txt

    Intendevo ifstream::in che poi è la stessa cosa visto che deriva da ios_base sta classe. Devi leggere un pò le discendenze delle varie classi o funzioni prima di usarle così è come se iniziassi dall'ultimo capitolo per arrivare al primo e ad ogni risposta hai sempre l'altra domanda. Non che mi stuffo sia chiaro ma ci sono certe domande che il tuo libro o magari una ricerca veloce di internet potrebbero aitarti di + che una risposta in un forum.
  • Re: Conteggio caratteri file txt

    Infatti faccio più cose parallelamente: chiedo qui sul forum e intanto cerco di studiare un po' in giro. il problema è che chi si avventura a programmare per la prima volta si trova davanti una foresta di funzioni e sottofunzioni dai nomi criptici. comunque sono certo che con un po' di tempo e un po' di aiuto riuscirò a cavarmela. Grazie ancora per la tua disponibilità.
  • Re: Conteggio caratteri file txt

    http://www.functionx.com/cpp/articles/filestreaming.ht

    leggi quì i vari parametri.
    ios::in sta a significare che il file in questione è un file in entrata (x lettura)
    ios::out file in uscita (x scrittura)
  • Re: Conteggio caratteri file txt

    Scusa ma sono ancora io... ho provato come hai detto tu ma mi dà errore e scrive
    aggregate 'std::ifstream infile' has incomplete type and cannot be defined

    incomplete type 'std::ifstream' used in nested name specifier

    che cosa significa?
  • Re: Conteggio caratteri file txt

    Fa vedere il codice. Mi sembra strano a me si compila.Nn è che dimentichi gli include neccessari x definire ifstream?
  • Re: Conteggio caratteri file txt

    Eccolo
    
    #include <iostream>
    #include <stdlib.h>
    #include <string.h>
    using namespace std;
    
    int main () {
        string fileName;
        cout<<"Inserire il nome di un file di testo: ";
        cin>>fileName;
        ifstream infile;
        infile.open (fileName, ios::in);
    
        system("PAUSE");
    }
    
  • Re: Conteggio caratteri file txt

    E questo chi lo aggiunge?
    
    #include <fstream>
    #include <string>
    
  • Re: Conteggio caratteri file txt

    Togliti dalla testa gli include in C. In C++ non esiste string.h ma solo string.
Devi accedere o registrarti per scrivere nel forum
31 risposte