Đây là một cách tự tạo hàm gotoxy(x,y)C++ Code:
#include <windows.h> void gotoxy(short x, short y) { HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x-1; pos.Y = y-1; SetConsoleCursorPosition(hCon, pos); }
Thư viện conio.h hoàn toàn không phải chuẩn của C++ và nó chỉ phụ thuộc vào compiler Borland C++. Đây là 2 hàm tự tạo dựa vào ANSCII code để viết lại 2 hàm thường dùng trong borland C++ là gotoxy và clrscr. Có thể dùng trên nhiều compiler của C++ như CodeBlock, gcc, dev-cpp, visual C++..
gotoxy
C++ Code:
void gotoxy(int x, int y){ }
clrscr
C++ Code:
void clrscr(){ }
Trick duy nhất trong cả 2 hàm là \033 trong mã octal là 33, và nó chính là ESC, muốn hiểu rõ thêm thì google for ASCII.
Đây là một cách tự tạo hàm gotoxy(x,y)C++ Code:
#include <windows.h> void gotoxy(short x, short y) { HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x-1; pos.Y = y-1; SetConsoleCursorPosition(hCon, pos); }
Cái hàm clrscr của bạn rox_rook dùng cách in chuỗi Escape ra màn hình. Nhưng có điều mình nghĩ là nó chỉ chạy được với các chương trình DOS thôi. Còn với các chương trình Win32 Console thì nó không thể xóa màn hình được.
Tại sao trên Win32 Console nó không xóa được vậy ? Thế còn trên Win64 thì sao ?
đây là hàm tự tạo gotoxyPHP Code:#include "windows.h"
void gotoxy(short x,short y)
{
HANDLE hConsoleOutput;
COORD Cursor_an_Pos = { x,y};
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsoleOutput , Cursor_an_Pos);
}