Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    4

    [C++] Contare numero di volte che il programma è stato avviato

    Volevo creare un programmino che tenesse il conto delle volte che lo hai aperto,e spereavo poteste aiutarmi a renderlo più efficente
    codice:
    #include <iostream>
    #include <fstream>
    #include <stdio.h>
    using namespace std;
    int x;
    int main()
    {
        ofstream file;
        ifstream fileimput;
        fileimput.open("numero.txt");
    fileimput>> x;
    remove("numero.txt");
    fileimput.close();
    file.open("numero.txt");
    ++x;
    file<<x;
        return 0;
    }
    Ultima modifica di MItaly; 28-05-2015 a 15:59

  2. #2
    Al di là della remove (che non è necessaria), l'efficienza è quella che è, ma puoi renderlo un po' più elegante, togliendo tutte le open/close esplicite e usando costruttore e distruttore al loro posto:
    codice:
    int count=0;
    const char *fcounter = "numero.txt";
    {
        ifstream is(fcounter);
        is>>count;
    }
    {
        ofstream os(fcounter);
        os<<count+1;
    }
    Volendo si può anche compattarlo un po', ma forse riesce meno chiaro:
    codice:
    int count=0;
    const char *fcounter = "numero.txt";
    { (ifstream(fcounter)) >> count; }
    { (ofstream(fcounter)) << count+1; }
    Ultima modifica di MItaly; 28-05-2015 a 16:06
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    4
    grazie mille

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