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

    C++ prelevare dato da un file

    Salve, devo fare una cosa un pò particolare...dunque ho un file con contenuto del tipo:

    .
    .
    .
    numero di alunni: 6
    numero di alunni: 3
    numero di alunni: 2
    numero di alunni: 4
    .
    .
    .

    io devo fare la media di quei numeri, di conseguenza devo prelevare solo quei numeri dalla stringa.

    Se faccio:

    ifstream f("risultati.txt");
    string s;

    while(f.good())
    {
    getline(f, s);
    results[i]=atoi(s.c_str());
    }

    f.close();

    mi preleva tutta la stringa.
    Come faccio a dirgli di prendere solo il numero?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Se la parte precedente e' fissa

    "numero di alunni: "

    allora esegui l'atoi a partire dal carattere successivo al : spostando il puntatore ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    100
    ottima idea, ma come posso fare??

    non so in che posizione è il puntatore, nè come spostarlo, sono ancora alle prime armi...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da lorty
    non so in che posizione è il puntatore
    Come no ... e' a partire dalla posizione 17 ... sommalo all'argomento della atoi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    100
    Ho modificato così

    while(f.good())
    {
    getline(f, s);
    results[i]=atoi(s.c_str()+17);

    cout << results[i] <<endl;
    i++;
    }

    f.close();

    ma mi stampa solo degli zeri...ho sbagliato?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    No ... ma se le stringhe non sono quelle che hai mostrato, ovvero, ad esempio

    numero di alunni: 6

    allora non avrai i valori corretti.

    Controlla, in debugging, che la stringa sia effettivamente quella che dici.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    100
    Ho capito l errore, dopo i : c'è uno spazio, forse nel post non si vedeva, cmq grazie. ora funziona.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da lorty
    Ho capito l errore, dopo i : c'è uno spazio, forse nel post non si vedeva, cmq grazie. ora funziona.
    Ok ... quindi era 18 ...
    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.