Función (en C) que limpia la consola (API) (probada en Windows)
Vendría siendo equivalente a usar:
System("CLS");
Función:
int ClrScrn(void)
{
// Top left corner coordinates
COORD coord = {0};
// Contains information about screen buffer
CONSOLE_SCREEN_BUFFER_INFO cBufferInfo;
// Characters written in buffer
DWORD dwI;
// Characters to clear ("area" of console, so to speak)
DWORD dwSize;
// Handle to console
HANDLE hI = GetStdHandle(STD_OUTPUT_HANDLE);
// Just a bit error handling
if(hI == INVALID_HANDLE_VALUE) return (EXIT_FAILURE);
// GetConsoleScreenBufferInfo returns 0 on error
if (GetConsoleScreenBufferInfo(hI, &cBufferInfo))
{
// Calculate characters to clear
dwSize = cBufferInfo.dwSize.X * cBufferInfo.dwSize.Y;
// Write space characters to buffer as many times as needed, i.e. dwSize
FillConsoleOutputCharacter(hI, TEXT(' '), dwSize, coord, &dwI );
// Set console cursor to top left coord
SetConsoleCursorPosition(hI, coord);
return (EXIT_SUCCESS);
} else
return (EXIT_FAILURE);
}
Archivado bajo: Programación | Etiquetado: C