Windows:我正在创建一个程序,它是一种文本编辑器(用于学习C)。我想将光标移动到X and Y of the mouse click position
。正在使用getche()
。我目前有以下代码:
#include <stdio.h>
#include<conio.h>
int main()
{
char a;
do{
a=getche();
fflush(stdin);
printf("%c");
}while(a!=13)
}
其中13是ASCII中的Enter键。
看一下这张图片:
我希望每当我按下控制台时,光标会跳到它的位置。
我听说可以用线程来完成。但我真的不知道怎么做。我在互联网上搜索了很多,但我从未发现任何有用的东西。
注意:我正在使用GCC编译器(代码块)
答案 0 :(得分:0)
(假设Microsoft Windows)
您必须通过ReadConsoleInput()
阅读鼠标事件,然后通过SetConsoleCursorPosition
设置光标位置。
答案 1 :(得分:0)
在turbo c中,我曾经通过定义x86中断来使用中断例程。你可以尝试使用它。
它可以为您输入任何中断,包括按下和释放时的鼠标,以及鼠标当前位置。但是你必须先了解C中的x86中断才能使用它们。
抱歉,我现在没有一个例子。
建议:另外如果你想模仿文本编辑器,你也应该允许通过箭头移动,当你使用a = getche()时它会打印并在a中给你输入然后你使用printf(“ %c“)没有任何var,实际上并不需要。