Entradas etiquetadas como ‘NetBeans’

Utilizar system() en Cygwin con Windows

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

Feliz Cumpleaños NetBeans

Nube de etiquetas