Hola, hace rato que no posteo; ahora comparto algo pequeño pero útil. De un tiempo para acá instale NetBeans para compilar archivos de C y C++ por lo que seguí el siguiente tutorial Instalar y Configurar el Soporte para C/C++ (MUY IMPORTANTE INSTALEN LAS LIBRERIAS Y ARCHIVOS NECESARIOS gcc-core: el compilador C, gcc-g++: el compilador C++, gdb: el depurador GNU, y make: la versión GNU de la utilidad ‘make’ ).

Todo estaba perfecto hasta que llegue al punto de… tener que limpiar la pantalla donde para mi suerte ya no utilizo la librería <conio.h> por lo tanto la función clrscr() quedo en el olvido, entrando como sustituta la función system(“cls”) 😛 pero al ejecutar dicha instrucción el resultado era el siguiente:

sh: cls: command not found

Aquí una pantallita:

image

El código que utilice fue el siguiente:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
printf("Hola como estan\n");
printf("Esto es un ejemplo de limpiar pantalla\n");
system("cls");
return EXIT_SUCCESS;
}

Para no entrar en detalles , les comentar que esto sucede por que sh.exe (Cygwin) es una emulación del shell de Unix por lo que la instrucción “cls” NO EXISTE pero podemos solucionarlo con el siguiente truco:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
printf("Hola como estan\n");
printf("Esto es un ejemplo de limpiar pantalla\n");
system("cmd /c cls");  // 😉 Aqui esta el truco
return EXIT_SUCCESS;
}

Si tienen algún problema al ejecutar system("cmd /c cls") , pueden intentarlo escribiendo system("cmd.exe /c cls"), y si ni con eso funciona su limpiar pantalla; entonces utilicen la instrucción:

printf("\e[2J");  —> TODO JUNTO SIN ESPACIOS

Y como es lógico, si desean hacer uso de otro comando con system() por ejemplo enlistar los directorios, tendrían que hacerlo de la siguiente forma:

system("cmd /c dir");

Espero les sea de gran ayuda, ya que para mi lo fue 🙂 .

PD.- Yo utilizo NetBeans por que en lo personal no me agrada DevC++ y además tener una consola shell en Windows siempre trae cosas buenas 😉

NOTA: Recuerden que si van a hacer copy/paste deben sustituir las “”(comillas) que WordPress cambia.

Fuente(s):

http://forum.codecall.net/c-c/9024-c-system-not-working-cygwin-bash-shell.html

http://cygwin.com/ml/cygwin/2004-03/msg00888.html

http://objectmix.com/c/34035-posix-getch-clrscr.html

Anuncios

Comentarios en: "Utilizar system() en Cygwin con Windows" (14)

  1. Muchas gracias por la info, estoy hace un rato renegando con limpiar la pantalla en netbeans windows y esto me solucionó el problema. Saludos.

  2. carlosmab dijo:

    gracias totales por el post… tenia tieeeeeeempo buscando una solucion para esto y no la encontraba, me gusta el IDE de netbeans, y cuando empece a programar en C++ modo consola alli no encontraba como limpiar pantalla… gracias, excelente aporte…

  3. gracias ..despues de buscar y buscar encontré la respuesta
    me funcionó el printf(“\e[2J”);

  4. Hola a todos, gracias por la aportacion, me sirvio de mucho…

    Tengo una preguntita… como hago que en netbeans ponga las tildes en las letras… intento con printf(“D%cgite”, 161);… pero no sale. Cambio el encondig a ISO y tampoco sale. Necesito ayuda.

  5. Eres un maestro
    este tema de limpiar la pantalla me estaba haciendo renegar mucho pero mas bien cai aqui
    muchas gracias
    !!!adelante !! 😉

  6. Gracias por tu publicacion me sirvio de mucho y lo bueno fue que no me llevo mucho tiempo buscarlo un par de horas nada mas Gracias!!!!!

  7. excelenteeee jajaja lo que estaba buscando de saber que era algo tan sencillo gracias maaan !!

  8. Exelente solucion…..te felicito, eres un experto…

    Te comento que lo probe en la version de netbeans 7.1.2 y me funciono con el printf……no me funciono con el system con ecmd /c cls ni con el cmd.exe /c cls…..

    Me gustaria saber como hacerlo funcionar con el system porque el system se puede utilizar con otros comandos como dir por ejemplo…

    Saludos…

  9. Gracias, me sirvió mucho este truco. A mí también me gusta este IDE y también tenía la necesidad de borrar la pantalla en la mayoría de mis programas.

  10. Muchas Gracias por la info, hace rato que estoy buscando como usar el “cls” en netbeans y no me funcionaba nada hasta ahora.

  11. me funcionó perfectamente gracias!

  12. gracias tenia problemas con un simple pause

  13. Excelente !! gracias!!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Nube de etiquetas

A %d blogueros les gusta esto: