Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    4

    [c++] lettura da file

    Ciao a tutti, innanzi tutto complimenti per il forum, vi espongo il mio problema.
    Ho un file .dat contenente una lista di numeri interi incolonnati uno ad uno.
    Vorrei leggere il dato posizionato in una riga precisa, avete suggermenti?
    ho provato con seekg ma mi restituisce valori sbagliati.
    grazie a chi mi aiuterà

  2. #2
    prova ad usare
    fopen , che ti restituisce un file pointer
    fseek , che ti posizione all'offset desiderato

    ciao
    sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    4
    Ciao, io ad esempio voglio leggere dal terzo dato del file, ho provato così ma non funziona



    #include <fstream>
    #include <iostream>

    using namespace std;

    int main(){
    ifstream inFile;

    inFile.open ("Test.dat");

    if (inFile.fail()) {
    cerr << "unable to open file Test.dat for reading" << endl;
    system("PAUSE");
    exit(1);
    }

    int n;
    inFile.seekg(3);
    while(inFile >> n)
    cout << n << endl;
    inFile.close();
    system("PAUSE");
    return 0;
    }

  4. #4
    a me funziona, cosa non funziona a te?
    ciao
    sergio

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    4
    non capisco perchè se metto inFile.seekg(4) oppure inFile.seekg(5) o anche inFile.seekg(6), l'output è lo stesso. A cosa si riferisce il parametro della seekg?

  6. #6
    il parametro di seek è l'offset del file, cioè la distanza in byte tra la posizione attuale del puntatore e la nuova posizione che si desidea sul file. Questo vuol dire che quando il puntatore è posizionato all'inizio del file (come quando apri un file) con seekg(5) ti posizioni alla quinta posizione del file.
    Se supponi che il tuo file da leggere contenga la stringa 123456789 in output avrai la stringa 56789.
    ciao
    sergio

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    4
    ok grazie per l'aiuto , per caso sai come riportare il puntatore all'inizio del file?

  8. #8
    inFile.seekg(0, ios::beg);

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.