Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841

    [c/c++] funzione x stoppare il programma x un po di tempo

    esiste una fuinzione che ferma il programma per il numero di sencondi che vuoi te????

    grazie

  2. #2
    dovrebbe essere la funzione Sleep(ritardo)
    dentro le tonde metti un int che corrisponde ai millisecondi credo
    ad esempio 1000 corrisponde ad un secondo
    metti anche #include<windows.h>(se usi windows)

  3. #3
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    qui hai un tip su come creare quello che ti serve in ANSI C++: http://www.pierotofy.it/pages/appunt...NSI_CPlusPlus/

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  4. #4
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    provati entrabi, allora: il migliore è risultato Sleep() nn solo xche come codice è piu corto ma anche xche questo

    codice:
    #include <ctime> //nuovo time.h
    #include <iostream> // nuovo I/O
    #include <string>// nuovo string.h che contiene la classe string
    
    using namespace std;// specifica che verrà usato il namespace detto std(standar)
    
    //ecco la funzione:
    void aspetta(long m)// m = secondi da aspettare 
    
    
     
    
    
    { 
    time_t adesso = time(NULL); //prendi l'ora di adesso
    while(difftime(time(NULL), adesso) < m);
    //finchè non sono passati "m" secondi da "adesso"(ovvero l'inizo della funzione)
    //ripeti il while
    
    //se sono passati esce dal while e la funzione termina qui
    }
    //-------------
    
    int main() {
        string str("Testo di prova");//oggetto stringa
        for(register int i = 0; i < str.size(); i++) {
            cout << str[i];
            aspetta(1);//aspetta 1 secondo
        }
        cout << endl;//quando la stringa è stata stampata tutta vai a capo.
    
        return 0;//terminato con successo
    }

    consuma una parte del lavoro del processore mentre stoppa il programma, metre sleep() fa tutto pulito!!!!

  5. #5
    bhe sleep è una funzione già creata mentre quell'altra suggerita sfrutta le funzioni note.....

  6. #6
    Utente di HTML.it L'avatar di mamo139
    Registrato dal
    May 2005
    residenza
    Londra
    Messaggi
    841
    Originariamente inviato da pablo1986
    bhe sleep è una funzione già creata mentre quell'altra suggerita sfrutta le funzioni note.....
    si quell'altra spreca potenza di calcolo x ritardare il rpogramma.. mettiamola così

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La differenza sostanziale tra i due metodi e' che la Sleep opera a livello di sistema operativo in relazione alla schedulazione del thread (che viene sospeso) mentre l'altro *non sospende* il thread.

    Il vantaggio di sospendere il thread e' quello di ottenere che la CPU non sia impegnata, lo svantaggio e' quello di sospendere per il periodo impostato la gestione dei messaggi provenienti dal sistema (e questo puo' dare l'impressione che il processo sia "bloccato" e non risponda).

    Quindi, per periodi brevi la Sleep puo' andare bene ma per periodi piu' lunghi e' meglio non usarlo ...

    La soluzione migliore e' usare il ciclo in modo che i messaggi vengano processati introducendo al suo interno uno sleep molto piccolo (tra 20 e 50 millisecondi) in modo che la CPU non sia impegnata molto impegnata.

  8. #8
    non potevi essere piu' chiaro...

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.