C++ - 检查字符是否出现在控制台的给定位置
C++ - Check if a character is present at a given position on the console
如果我有屏幕上某个点的坐标 x
和 y
并且我想检查指定字符是否在屏幕上的这些坐标处,我该怎么做?
我正在使用 Borland C++(用于学校项目)并且屏幕是命令行。
虽然我避免在我的程序中使用它,并想出了一个更好的解决奇怪问题的方法,但这似乎有效:
#include <windows.h>
//....
char get_char_at_xy( int x, int y )
{
CHAR_INFO ci;
COORD xy = { 0, 0 };
SMALL_RECT rect = { x, y, x, y };
return ReadConsoleOutput(GetStdHandle(STD_OUTPUT_HANDLE),&ci,1,xy,rect)
? ci.Char.AsciiChar
: '[=10=]';
}
如果我有屏幕上某个点的坐标 x
和 y
并且我想检查指定字符是否在屏幕上的这些坐标处,我该怎么做?
我正在使用 Borland C++(用于学校项目)并且屏幕是命令行。
虽然我避免在我的程序中使用它,并想出了一个更好的解决奇怪问题的方法,但这似乎有效:
#include <windows.h>
//....
char get_char_at_xy( int x, int y )
{
CHAR_INFO ci;
COORD xy = { 0, 0 };
SMALL_RECT rect = { x, y, x, y };
return ReadConsoleOutput(GetStdHandle(STD_OUTPUT_HANDLE),&ci,1,xy,rect)
? ci.Char.AsciiChar
: '[=10=]';
}