C语言控制台中怎么能获取光标当前的坐标值呢?

Python015

C语言控制台中怎么能获取光标当前的坐标值呢?,第1张

1、::GetCursorPos会获取当前鼠标所在的点,参数为POINT结构变量的地址。

2、如下面的例子:

#include <stdio.h>

#include <afx.h>

void main()

{

POINT point

::GetCursorPos(&point)

printf("x=%d,y=%d\n",point.x,point.y)

}

::GetCursorPos(&point)将获得的位置放入point变量中,通过point.x和point.y可以得知位置

用Win32 API

SetConsoleCursorPosition是API中设置控制台光标位置的函数。

#include <stdio.h>

#include <windows.h>

int main(void)

{

HANDLE hOut

COORD pos= {0,2}/* 光标的起始位(第1列,第3行) 0是第1列 2是第3行*/

hOut = GetStdHandle(STD_OUTPUT_HANDLE)

SetConsoleCursorPosition(hOut, pos)

printf("定位光标位置(%d,%d)\n",pos.X,pos.Y)

return 0

}

结果:DeskTopPos:X: 680 Y: 592ClientPos:X: 586 Y: 444请按任意键继续. . .代码:#include <stdio.h>#include "stdlib.h"#include <Windows.h>main() { HWND hConsole = FindWindow("ConsoleWindowClass", NULL)POINT ptGetCursorPos(&pt)printf("DeskTopPos:\nX:%4i Y:%4i\n", pt.x, pt.y)ScreenToClient(hConsole, &pt)printf("ClientPos:\nX:%4i Y:%4i\n", pt.x, pt.y)fflush(stdin)system("pause")}函数连接: http://baike.baidu.com/view/1080506.htm http://baike.baidu.com/view/1079910.htm楼主好运!