Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Timeout nell'esecuzione di un programma (C)

    Mi servirebbe sapere come rallentare con una sorta di timeout il programma in C, ad un certo punto si deve fermare e aspettare un secondo e poi continuare l'esecuzione.
    Sono sotto ambiente linux, grazie.

  2. #2
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    void delay(int seconds);
    
    int main(void){
       
       int i;
       
       for(i = 1; i <= 60; i++){
          
          printf("%d\n", i);
          delay(1);
          
       }
       
       return EXIT_SUCCESS;
       
    }
    
    void delay(int seconds){
       
       clock_t start = clock();
       
       for( ; (clock() - start) <= seconds * CLOCKS_PER_SEC; );
       
    }
    funge ?


  3. #3
    decisamente non funziona
    Alcune cose sono veramente da spiegare...
    com'è scritto il ciclo for???
    Ma alcune variabili te le hai inventate?? Da dove viene CLOCKS_PER_SEC ??

  4. #4
    Non esiste una funzione già esistente compresa in qualche libreria standard?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da alienone
    com'è scritto il ciclo for???
    Cosa non capisci?

    Ma alcune variabili te le hai inventate?? Da dove viene CLOCKS_PER_SEC ??
    Non sono variabili ma costanti e non sono inventate ma sono dichiarate negli include ...

    Se vuoi, puoi utilizzare anche la Sleep (Windows) o usleep (Linux) ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Ma io non le vedo dichiarate nelle direttive del preprocessore!! Se fosse così basterebbe aggiungere un define...che non c'è!
    Del ciclo for non capisco l'utilità, non inizializza nessuna variabile (non ce n'è bisogno) e poi non usa mica un contatore, verifica solo questa ipotesi:clock() - start) <= seconds * CLOCKS_PER_SEC
    Come funziona usleep? Devi dare come argomenti i millisecondi per cui vuoi che aspetti o qualcosa del genere?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da alienone
    Ma io non le vedo dichiarate nelle direttive del preprocessore!! Se fosse così basterebbe aggiungere un define...che non c'è!
    Non capisco cio' che hai scritto ... comunque, la costante e' dichiarata in time.h ...

    Del ciclo for non capisco l'utilità
    Beh ... l'utilità e' chiara ... fa attendere il programma per il tempo richiesto ...

    non inizializza nessuna variabile (non ce n'è bisogno)
    Appunto ... non ce n'e' bisogno ... ma una for non e' necessaria ...

    e poi non usa mica un contatore, verifica solo questa ipotesi:clock() - start) <= seconds * CLOCKS_PER_SEC
    E quindi? Il problema qual e'? Ancora non l'ho capito ...

    Perchè non usa un contatore non si può utilizzare una for ?

    Come funziona usleep?
    http://linux.die.net/man/3/usleep
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    come esiste una costante in time.h che si chiama CLOCKS_PER_SEC ??
    Ok, comunque quella funzione sono riuscito ad usarla, però non mi è servita...
    Insomma mi serviva un programma che si collegasse via ftp (da terminale) con una serie di comandi system e si loggasse per caricare automaticamente dei file; per farlo quindi ho pensato si potessero inserire dei dati come nome utente e password facendo aspettare un pò il programma, ma ciò non succede...
    Anche in questo caso mi potreste aiutare gentilmente come avete fatto per il primo problema??

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.