C++でgotoxy()関数を使用する方法


Windowsでgotoxy()関数を使用する方法:

#include <windows.h>
void gotoxy(int x, int y) {
    COORD coord;
    coord.X = x;
    coord.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
int main() {
    gotoxy(10, 5);
    std::cout << "Hello, World!";
    return 0;
}

上記のコードでは、Windows用のWindows.hヘッダーファイルをインクルードし、SetConsoleCursorPosition関数を使用してカーソルの位置を設定しています。gotoxy()関数を呼び出すことで、指定した座標にカーソルを移動することができます。

Linuxでgotoxy()関数を使用する方法:

#include <iostream>
#include <unistd.h>
void gotoxy(int x, int y) {
    std::cout << "\033[" << y << ";" << x << "H";
    std::cout.flush();
}
int main() {
    gotoxy(10, 5);
    std::cout << "Hello, World!";
    return 0;
}

上記のコードでは、gotoxy()関数を定義し、std::coutを使用してエスケープシーケンスを出力しています。エスケープシーケンス"\033[y;xH"は、カーソルを指定した位置に移動させるために使用されます。

これらの方法を使用すると、C++でコンソールアプリケーション内でカーソルの位置を制御することができます。ただし、gotoxy()関数はプラットフォームに依存しているため、他の環境やプラットフォームでは正しく動作しない可能性があります。