Autor
|
Tema: Contador de segundos en C (Leído 21,587 veces)
|
soser
Desconectado
Mensajes: 44
...
|
Buenas, pues ando haciendo un programa que ejecuta ciertas condiciones, pero quiero que esas condiciones se ejecuten por algunos segundos y en si el problema que tengo es que no se como hacer un segundero, he estado buscando y pues solo encuentro informacion de obtener la hora actual, asi que podrian decirme como se hace o darme alguna información que me sea util acerca de segunderos en C.
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
Puedes tomar la fecha actual y guardarla, despues tomas otra fecha actual y verificas.
|
|
|
En línea
|
|
|
|
cbug
Desconectado
Mensajes: 147
|
Un ejemplo en linux: #include <stdio.h> int main() { int cnt; for(cnt = 1; cnt <= 10; cnt++){ printf("\n %d Segundos \n", cnt ); sleep(1); } return 0; }
Bajo windows, creo que existe GetTickCount(...)... o algo parecido...
|
|
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
En windows si no me equivoco tambien existe sleep();
|
|
|
En línea
|
|
|
|
soser
Desconectado
Mensajes: 44
...
|
Gracias a ambos, me han servido de mucho las dos ideas...
|
|
|
En línea
|
|
|
|
ace332
Desconectado
Mensajes: 66
|
el problema con sleep(1) es que durante ese segundo aparte de esperar no se hace nada. Otra forma de hacerlo usando la función clock(): #include <stdio.h> #include <time.h> int main(void) { clock_t t,ts; int segundos=0; ts =clock()+CLOCKS_PER_SEC ; for(;;) { /* hacer otras cosas */ /* verificar si ya pasó un segundo */ { ts=t+CLOCKS_PER_SEC; } } return 0; }
Saludos
|
|
|
En línea
|
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
sleep() no es estándar. ¿Seguro que no te da errores de compilación? Saludos
|
|
« Última modificación: 13 Noviembre 2010, 00:35 am por Horricreu »
|
En línea
|
|
|
|
[L]ord [R]NA
Desconectado
Mensajes: 1.513
El Dictador y Verdugo de H-Sec
|
Estas en lo correcto... para que funcione sleep necesita ser incluida la cabecera 'unistd.h' #include <unistd.h> unsigned int sleep(unsigned int seconds);
Para mas informacion consultar en man en Linux pagina 3.
|
|
|
En línea
|
|
|
|
cbug
Desconectado
Mensajes: 147
|
Ja, sinceramente estoy algo cansado de ver el comentario "esto o aquello no es standar"... que quede a gusto y piacere de quien haga el código, si quiere hacerlo portable o no...
|
|
|
En línea
|
|
|
|
soser
Desconectado
Mensajes: 44
...
|
Me agrada que respondan y de una u otra forma sus comentarios me ayudan a entenderle más, gracias por sus comentarios
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Segundos en C++
Programación C/C++
|
jorge19
|
6
|
3,684
|
23 Febrero 2015, 02:45 am
por rir3760
|
|
|
problema con contador que toma segundos del sistema
ASM
|
FERNIIIIN
|
3
|
2,364
|
28 Mayo 2019, 23:39 pm
por xv0
|
|
|
Convierte webs a PDF, ePub, Word o TXT en segundos
Noticias
|
El_Andaluz
|
0
|
1,924
|
22 Julio 2020, 01:11 am
por El_Andaluz
|
|
|
15 segundos
Multimedia
|
Zorronde
|
5
|
30,269
|
14 Octubre 2021, 05:36 am
por Danielㅤ
|
|
|
Contador 59 segundos en VHDL
Electrónica
|
Nicolau
|
1
|
9,229
|
21 Enero 2023, 19:58 pm
por Meta
|
|