elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  sustituto de funcion sleep de window.h c++?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: sustituto de funcion sleep de window.h c++?  (Leído 6,079 veces)
minari02

Desconectado Desconectado

Mensajes: 26


Ver Perfil
sustituto de funcion sleep de window.h c++?
« en: 30 Diciembre 2013, 20:55 pm »

Hola!!  ;D

Estoy aprendiendo C++ y estuve viendo ejemplos de como usar el do-while y pues me he encontrado con este ejemplo:

Código
  1. #include <iostream>
  2. #include <windows.h>
  3. using namespace std;
  4. int main()
  5.  
  6. {
  7. bool salida = false;
  8. int num;
  9. int sec=2000;
  10. do{
  11.  cout<<"\n ingrese un numero ";
  12.   cin>>num;
  13.      cout<<"Validando .";
  14. for(int i = 0; i < 9; i++){
  15.         cout<<".";
  16.           Sleep(200);
  17.       }
  18. if(num == 10) salida = true;
  19.    }
  20. while(!salida);
  21. return 0;
  22.  
  23. }
  24.  

el programa lo que hace es verificar si el numero ingresado es 10 o no y al momento de imprimir "Validando" que valla saliendo un punto tras otro despacio, como si estuviera cargando...

se que es algo tonto, pero me gustaría saber una forma de que funcione asi en linux, alguna funcion que sustituya el Sleep(); o algo asi.

Aprovechando quiero preguntarles, hay alguna función importante en la librería windows.h? o solo sirven de adorno sus funciones?

Gracias.  :D


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: sustituto de funcion sleep de window.h c++?
« Respuesta #1 en: 30 Diciembre 2013, 20:58 pm »

Creo que :http://stackoverflow.com/questions/10918206/cross-platform-sleep-function-for-c


En línea

Te vendería mi talento por poder dormir tranquilo.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: sustituto de funcion sleep de window.h c++?
« Respuesta #2 en: 30 Diciembre 2013, 21:53 pm »

Podrías hacerlo con la biblioteca Time. Un poco bestia, pero podría ir bien:

Código
  1. //
  2. #include <Time.h>
  3. //
  4. void time(int milisecs){
  5.    Time A = time();
  6.    while(time()<A+milisecs);
  7. }

Cabe decir, que no creo que ese código funcione. Y esque nunca usé las variables de Time.h, así que no se bien la sintaxis, ni los retornos de sus funciones. Pero es la idea :D
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: sustituto de funcion sleep de window.h c++?
« Respuesta #3 en: 31 Diciembre 2013, 09:37 am »

En linux es con minúscula:
Código
  1. sleep(10);

Tienes que incluir la librería pthread.h y linkar con pthread

Aprovechando quiero preguntarles, hay alguna función importante en la librería windows.h? o solo sirven de adorno sus funciones?
Eso es la windows API. Te permite hacer tropecientas cosas:
http://msdn.microsoft.com/en-us/library/hh920509%28v=vs.85%29.aspx

Podrías hacerlo con la biblioteca Time. Un poco bestia, pero podría ir bien:

Código
  1. //
  2. #include <Time.h>
  3. //
  4. void time(int milisecs){
  5.    Time A = time();
  6.    while(time()<A+milisecs); del reloj
  7. }

Cabe decir, que no creo que ese código funcione. Y esque nunca usé las variables de Time.h, así que no se bien la sintaxis, ni los retornos de sus funciones. Pero es la idea :D
Eso no es la función sleep, eso es un asesinato de rendimiento.

Estás haciendo iteraciones en cada ciclo. Ahora mismo estás chupando un hilo de ejecución entero.

De hecho, hay un sencillo progama para saturar la CPU que consiste en crear un bucle:
Código
  1. while(1);

Y tantos hilos de ejecución como núcleos tenga un procesador.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
minari02

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Re: sustituto de funcion sleep de window.h c++?
« Respuesta #4 en: 31 Diciembre 2013, 20:47 pm »

En linux es con minúscula:
Código
  1. sleep(10);
Tienes que incluir la librería pthread.h y linkar con pthread
Eso es la windows API. Te permite hacer tropecientas cosas:
Código
  1. while(1);

como es eso de linkiar? me podrias poner como quedaria el codigo final profavor?

Gracias!  :)
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: sustituto de funcion sleep de window.h c++?
« Respuesta #5 en: 1 Enero 2014, 14:50 pm »

Código
  1. #include <pthread.h>
  2.  
  3. int main()
  4. {
  5.    sleep(3); //dormir 3 segundos
  6.    return 0;
  7. }

Lo de linkar no tiene nada que ver con el código, sino con la configuración del compilador. Si usas algún IDE, busca alguna opción para "linker settings".
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con API sleep
Programación Visual Basic
vivachapas 7 3,144 Último mensaje 31 Mayo 2007, 01:04 am
por Freeze.
alternativa a sleep
PHP
z_ane_666 5 5,584 Último mensaje 24 Mayo 2011, 05:35 am
por [u]nsigned
Parámetros en main y función Sleep()
Programación C/C++
Saberuneko 5 4,950 Último mensaje 14 Junio 2012, 16:07 pm
por 0xDani
llamar funcion equivalente a shell desde window mobile
.NET (C#, VB.NET, ASP)
sysfactory 1 2,358 Último mensaje 18 Julio 2013, 06:14 am
por Eleкtro
Dudas con Timer como sustituto de Sleep -- por precisión del tiempo
.NET (C#, VB.NET, ASP)
SARGE553413 4 3,352 Último mensaje 25 Julio 2014, 16:19 pm
por SARGE553413
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines