<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<font size="-1"><font face="Courier New, Courier, monospace">Buenos
días,<br>
No creo que system("PAUSE") te valla a funcionar porque creo
recordar que trabajas bajo linux y pause es un comando de
windows, además esto no te detectará la tecla ESC sinó que te
pondrá un mensaje en consola que dira:<br>
<br>
Presione cualquier tecla para continuar...<br>
<br>
y el programa esperara la pulsación de <u>cualquier</u> tecla y
se cerrará al pulsarla.<br>
<br>
Un saludo!<br>
</font></font><br>
El 31/08/2010 22:05, Jorge Vega Sanchez escribió:
<blockquote
cite="mid:EFC7F8F8-5688-478E-B3DA-7F8DA51D17E0@gmail.com"
type="cite">Pues o no lo se hacer lo que dices o no funciona.
<div>Lo que he hecho es sustituir return 0 por system("pause") y
return 0.</div>
<div><br>
<div>
<div>El 31/08/2010, a las 21:35, MuGliDaRk escribió:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">Al finalizar tu progrma usa<br>
<br>
<br>
<br>
system("PAUSE");<br>
return EXIT_SUCCESS;<br>
<br>
para al finalizar tu programa con escape. la pantalla se
detenga y no se cierre. y espera la pulsacion de cualquier
tecla, para cerrarse.<br>
<br>
<br>
<br>
<br>
<div class="gmail_quote">El 31 de agosto de 2010 14:15,
Jorge Vega Sanchez <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:memmaker650@gmail.com">memmaker650@gmail.com</a>></span>
escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div style="word-wrap: break-word;">¿¿ Y porque si lo
pongo en un hilo cerrara el programa completo ???
<div><br>
</div>
<div>Es que no entiendo tu respuesta.<br>
<div>
<div>El 31/08/2010, a las 21:10, David Fire
escribió:</div>
<div>
<div class="h5"><br>
<blockquote type="cite">pone el getch() en
otro thread<br>
<br>
<div class="gmail_quote">El 31 de agosto de
2010 16:07, Jorge Vega Sanchez <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:memmaker650@gmail.com"
target="_blank">memmaker650@gmail.com</a>></span>
escribió:<br>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204,
204, 204); margin: 0pt 0pt 0pt 0.8ex;
padding-left: 1ex;">
<div style="word-wrap: break-word;">Busque
algo sobre algun port de knhit a linux
y encontre lo siguiente:
<div>
En este enlace hay varias cosas.</div>
<div><br>
</div>
<div>
<div>#include <stdio.h></div>
<div>#include <termios.h></div>
<div>#include <unistd.h></div>
<div>#include <sys/types.h></div>
<div>#include <sys/time.h></div>
<div><br>
</div>
<div>void changemode(int);</div>
<div>int kbhit(void);</div>
<div>int main(void)</div>
<div>{</div>
<div> </div>
<div> changemode(1);</div>
<div> while ( !kbhit() )</div>
<div> {<span style="white-space:
pre-wrap;"> </span>// Funciona
sin introducir caracteres.</div>
<div> }</div>
<div><br>
</div>
<div> sleep(20);</div>
<div><span style="white-space:
pre-wrap;"> </span></div>
<div> </div>
<div> return 0;</div>
<div>}</div>
<div><br>
</div>
<div>void changemode(int dir)</div>
<div>{</div>
<div>
static struct termios oldt,
newt;</div>
<div><br>
</div>
<div> if ( dir == 1 )</div>
<div> {</div>
<div> tcgetattr( STDIN_FILENO,
&oldt);</div>
<div> newt = oldt;</div>
<div> newt.c_lflag &= ~(
ICANON | ECHO );</div>
<div> tcsetattr( STDIN_FILENO,
TCSANOW, &newt);</div>
<div> }</div>
<div> else</div>
<div> tcsetattr( STDIN_FILENO,
TCSANOW, &oldt);</div>
<div>}</div>
<div><br>
</div>
<div>int kbhit (void)</div>
<div>{</div>
<div>
struct timeval tv;</div>
<div> fd_set rdfs;</div>
<div> int ch=0,retorno;</div>
<div><br>
</div>
<div> tv.tv_sec = 0;</div>
<div> tv.tv_usec = 0;</div>
<div><br>
</div>
<div> FD_ZERO(&rdfs);</div>
<div> FD_SET (STDIN_FILENO,
&rdfs);</div>
<div><br>
</div>
<div> select(STDIN_FILENO+1,
&rdfs, NULL, NULL, &tv);</div>
<div> </div>
<div> ch = getchar();</div>
<div><br>
</div>
<div> printf("Got %c \n", ch);</div>
<div> printf("En ASCII\n");</div>
<div> printf("tenemos %d\n", ch);</div>
<div> </div>
<div> printf("Caracteres raros:
%d\n", FD_ISSET(STDIN_FILENO,
&rdfs));</div>
<div> if(ch!=27)</div>
<div> <span style="white-space:
pre-wrap;"> </span>
retorno=FD_ISSET(STDIN_FILENO,
&rdfs);</div>
<div> else</div>
<div> {</div>
<div> <span style="white-space:
pre-wrap;"> </span>changemode(0);</div>
<div> <span style="white-space:
pre-wrap;"> </span>return 0;</div>
<div> }</div>
<div> </div>
<div> return retorno;</div>
<div><br>
</div>
<div>}</div>
<div><br>
</div>
<div><br>
</div>
<div>Con este código consigo que
detecte que hemos pulsado la tecla
escape en mi caso (si se pulsa
cualquier otra no pasa nada. El
problema es que no termina el
programa hasta que se cumple el
Sleep y se deberia de terminar el
programa cuando pulse ESCAPE.</div>
<div><br>
</div>
<div>Por si alguien le echa un
vistazo, el código es partiendo
del código de THANTOS pero
modificado.</div>
<div><br>
</div>
<div>Queda poco para la solucion
final pero no consigo el punto que
falta.</div>
<div>
<br>
</div>
<div>
<div>El 30/08/2010, a las 00:55,
David Fire escribió:</div>
<div>
<div><br>
<blockquote type="cite">SI se
puede hacer con c/c++
estandar
<div>tenes q usar kbhit y
getch</div>
<div>kbhit te dice si hay
alguna tecla esperando
para ser leida y getch te
da ese caracter.</div>
<div><br>
</div>
<div>if(kbhit()){</div>
<div> c=getch();</div>
<div> if(c=ESC)</div>
<div> exit();</div>
<div>}</div>
<div><br>
</div>
<div>saludos</div>
<div>David</div>
<div><br>
<div class="gmail_quote">El
29 de agosto de 2010
16:05, Jorge Vega
Sanchez <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:memmaker650@gmail.com"
target="_blank">memmaker650@gmail.com</a>></span>
escribió:<br>
<blockquote
class="gmail_quote"
style="border-left:
1px solid rgb(204,
204, 204); margin: 0pt
0pt 0pt 0.8ex;
padding-left: 1ex;">
<div style="word-wrap:
break-word;">Y que
librería puedo usar
para hacer esto.<br>
<div>
<div>
El 29/08/2010, a
las 18:15, Pedro
Rodríguez
González
escribió:</div>
<div>
<div><br>
<blockquote
type="cite"><span
style="border-collapse:
separate;
font-family:
Helvetica;
font-style:
normal;
font-variant:
normal;
font-weight:
normal;
letter-spacing:
normal;
line-height:
normal;
text-indent:
0px;
text-transform:
none;
white-space:
normal;
word-spacing:
0px;
font-size:
medium;">
<div
style="font-size:
10pt;
font-family:
Tahoma;">
Usando la
librería estándar de
C/C++ ? Creo
que no vas a
poder.<br>
<br>
> From:<span> </span><a
moz-do-not-send="true" href="mailto:memmaker650@gmail.com"
target="_blank">memmaker650@gmail.com</a><br>
> Date:
Sun, 29 Aug
2010 10:52:37
+0200<br>
> To:<span> </span><a
moz-do-not-send="true" href="mailto:cconclase@listas.conclase.net"
target="_blank">cconclase@listas.conclase.net</a><br>
> Subject:
[C con Clase]
Terminar
programa al
pulsar tecla
escape.<br>
><span> </span><br>
> Buenas.<br>
><span> </span><br>
> Estoy
haciendo un
programa de
linea de
comandos. Me
gustaría saber
como hacer que
al pulsar la
tecla escape
se termine el
programa.<br>
> Mi duda
es como
detectar el
pulsado de la
tecla ESC (en
linux o MAC,
no en Windows)
y si es
imprescindible
tener un bucle
global que
compruebe el
pulsado de la
tecla o hay
alguna otra
forma más
eficiente.<br>
><span> </span><br>
> El
programa va
soltando
soluciones o
datos y no sé
como mezclar
esto con la
deteccion de
la tecla esc.<br>
><span> </span><br>
> Gracias
de antemano.<br>
>
_______________________________________________<br>
> Lista de
correo
Cconclase<span> </span><a
moz-do-not-send="true" href="mailto:Cconclase@listas.conclase.net"
target="_blank">Cconclase@listas.conclase.net</a><br>
><span> </span><a
moz-do-not-send="true"
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net"
target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
> Bajas:<span> </span><a
moz-do-not-send="true"
href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ"
target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
_______________________________________________<br>
Lista de
correo
Cconclase<span> </span><a
moz-do-not-send="true" href="mailto:Cconclase@listas.conclase.net"
target="_blank">Cconclase@listas.conclase.net</a><br>
<a
moz-do-not-send="true"
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net"
target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas:<span> </span><a
moz-do-not-send="true"
href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ"
target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></div>
</span></blockquote>
</div>
</div>
</div>
<br>
</div>
<br>
_______________________________________________<br>
Lista de correo
Cconclase <a
moz-do-not-send="true"
href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a
moz-do-not-send="true"
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net"
target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a
moz-do-not-send="true"
href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ"
target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
(\__/) <br>
(='.'=)This is Bunny. Copy
and paste bunny into your
<br>
(")_(")signature to help
him gain world domination.
<br>
<br>
</div>
_______________________________________________<br>
Lista de correo Cconclase <a
moz-do-not-send="true"
href="mailto:Cconclase@listas.conclase.net"
target="_blank">Cconclase@listas.conclase.net</a><br>
<a moz-do-not-send="true"
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net"
target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a
moz-do-not-send="true"
href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ"
target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></blockquote>
</div>
</div>
</div>
<br>
</div>
</div>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a
moz-do-not-send="true"
href="mailto:Cconclase@listas.conclase.net"
target="_blank">Cconclase@listas.conclase.net</a><br>
<a moz-do-not-send="true"
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net"
target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a moz-do-not-send="true"
href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ"
target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
(\__/) <br>
(='.'=)This is Bunny. Copy and paste bunny
into your <br>
(")_(")signature to help him gain world
domination. <br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a
moz-do-not-send="true"
href="mailto:Cconclase@listas.conclase.net"
target="_blank">Cconclase@listas.conclase.net</a><br>
<a moz-do-not-send="true"
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net"
target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a moz-do-not-send="true"
href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ"
target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></blockquote>
</div>
</div>
</div>
<br>
</div>
</div>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a moz-do-not-send="true"
href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a moz-do-not-send="true"
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net"
target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a moz-do-not-send="true"
href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ"
target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
Atte.<br>
_______________________________<br>
<br>
<br>
_______________________________<br>
<br>
<div style="text-align: center; color: rgb(0, 102, 0);
font-family: trebuchet ms,sans-serif;"><i><b>Antes de
imprimir este mensaje, asegúrese de que sea necesario.
Proteger el medio ambiente está en nuestras manos. <br>
Before you print this message, make sure it is
necessary. It is in our hands to protect our
environment.</b><br>
</i></div>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a moz-do-not-send="true"
href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a moz-do-not-send="true"
href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a moz-do-not-send="true"
href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></blockquote>
</div>
<br>
</div>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Lista de correo Cconclase <a class="moz-txt-link-abbreviated" href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a>
<a class="moz-txt-link-freetext" href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a>
Bajas: <a class="moz-txt-link-freetext" href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></pre>
</blockquote>
</body>
</html>