c++ 控制台怎么捕获光标位置?
发布网友
发布时间:2023-06-01 05:13
我来回答
共2个回答
热心网友
时间:2024-10-20 16:09
这问题我也查了很久,发现没有这样的函数与算法,只能自己控制
我看这样吧,定义一个全局变量int g_x=0,int g_y=0; 当你控制光标的时候改变这两个变量的值,
再写个函数用于捕获光标位置
Cpoint get()
{
Cpoint point;
point.x=g_x;
point.y=g_y;
return point;
}
别浪费分。。。。兄弟
热心网友
时间:2024-10-20 16:09
#include <iostream>
#include <conio.h>
using namespace std;
int pos = 0;
char* p[3] = {"A-Choice","B-Choice","C-Choice"};
bool Menu()
{
for( int i = 0;i<3; ++ i )
{
if( pos == i )
cout<<"-->";
cout<<*(p+i)<<endl;
}
return true;
}
int main()
{
while( Menu() )
{
char ch = getch();
if( ch == 'w' ) //按w可以向上
{
if( pos > 0 )
--pos;
}
else if ( ch == 's' ) //按s可以向下
{
if( pos < 2 )
++pos;
}
system("cls");
}
}
试试看哈。呵呵
退出的方法自己研究,不过是menu返回false就可以了。或者手动添加break到While中。
c++ 控制台怎么捕获光标位置?
我看这样吧,定义一个全局变量int g_x=0,int g_y=0; 当你控制光标的时候改变这两个变量的值,再写个函数用于捕获光标位置 Cpoint get(){ Cpoint point;point.x=g_x;point.y=g_y;return point;} 别浪费分。。。兄弟
setconsolecursorposition函数是如何实现控制台光标定位的
在 Windows 环境下,当双击运行一个简单的 C 语言程序,如 "Hello World",系统会自动启动一个名为 "conhost" 的独立程序。该程序会作为后台服务,接收并处理这些程序的标准输入输出,同时在控制台窗口显示输出内容。控制台窗口的光标位置是由操作系统管理的,通过调用系统提供的函数来实现光标定位的改变。
如何用c语言在控制台弹出一个输入对话框
::CreateCaret(hWnd, (HBITMAP)NULL, 1, TEXTBOX_HEIGHT-5); // 创建光标_SetCaretPos(hWnd); // 设置光标位置::ShowCaret(hWnd); // 显示光标} break;case WM_KILLFOCUS: // 失去焦点::HideCaret(hWnd); // 隐藏光标::DestroyCaret(); // 销毁光标break;case WM_SETCURSOR: { // 设置光标形状stati...
【转】win10中vscode集成的终端光标位置错误
vscode中终端光标显示位置错误,如下图:打开系统自带的cmd.exe,在窗口边框上右键选择属性,设置使用旧版控制台,重启vscode即可,如下图:转自 https://www.jianshu.com/p/f6c7b8e235c6
conio.h包含的函数
在控制台操作方面,clreol函数用于清除控制台行尾,clrscr函数用于清除整个控制台屏幕,delline函数用于删除当前行,gettext函数用于获取指定区域内的文本并存储到指定的内存位置,gettextinfo函数用于获取文本信息,gotoxy函数用于设置光标位置,highvideo函数用于将视频模式设置为高分辨率,insline函数用于插入一行,...
Visual C++写C语言时,为什么调试器光标运行到scanf语句就运行不下去了...
需要从控制台输入,还有scanf()是系统库函数,你不能使用F11进入看它的运行过程的
C语言 CONSOLE_SCREEN_BUFFER_INFO 这个语句有什么用?
// 控制台窗口信息结构体typedef struct _CONSOLE_SCREEN_BUFFER_INFO {COORD dwSize; // 缓冲区大小COORD dwCursorPosition; // 当前光标位置WORD wAttributes; // 字符属性SMALL_RECT srWindow; // 当前窗口显示的大小和位置COORD dwMaximumWindowSize; // 最大的窗口缓冲区大小} CONSOLE_SCREEN_...
c语言如何先显示scanf后面printf再输入 就是要打印出一个框 输入光标在...
//光标位置 CONSOLE_SCREEN_BUFFER_INFO csbi; if (GetConsoleScreenBufferInfo(hConsole, &csbi)) { pt.x=csbi.dwCursorPosition.X; pt.y=csbi.dwCursorPosition.Y; }}int main(int argc, char *argv[]) {int n;printf("想在这里输入:");getxy();printf("\n\n想...
C++有没有回到上一行控制符?
void getxy(int* x,int* y) //该函数获取当前控制台光标位置 { CONSOLE_SCREEN_BUFFER_INFO c;HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(h, &c);x =c.dwCursorPosition.X;y =c.dwCursorPosition.Y;} int main(){ int x,y;char* s1="aaaaa";char* s2...
C语言中<conio.h>是干什么用的,能具体解释一下吗
clreol(); /*删去光标后字符*/ gotoxy(10,20);printf("任意键删去本行的内容 ");gotoxy(18,3); getch();delline(); /*删去本行*/ gotoxy(10,20);printf("任意键在本行插一空行 ");gotoxy(18,3); getch();insline(); ...