在C中输入值时,如何将光标移动到鼠标位置?

在C中输入值时,如何将光标移动到鼠标位置?,c,multithreading,multitasking,C,Multithreading,Multitasking,Windows:我正在创建一个程序,它是一种文本编辑器(用于学习C)。我想将光标移动到鼠标单击位置的X和Y处。正在使用getche()时。我目前拥有以下代码: #include <stdio.h> #include<conio.h> int main() { char a; do{ a=getche(); fflush(stdin); printf("%c"); }while(a!=

Windows:我正在创建一个程序,它是一种文本编辑器(用于学习C)。我想将光标移动到鼠标单击位置的X和Y处。正在使用
getche()
时。我目前拥有以下代码:

#include <stdio.h>
#include<conio.h>
int main()
{
    char a;
    do{
           a=getche();
           fflush(stdin);
           printf("%c");
    }while(a!=13)
}
#包括
#包括
int main()
{
字符a;
做{
a=getche();
fflush(stdin);
printf(“%c”);
}而(a!=13)
}
其中13是ASCII中的回车键

请看这张图片:

这里我希望每当我在控制台内按下时,光标都会跳到它的位置。

我听说它可以用线程来完成。但我真的不知道怎么做。我在网上搜索了很多东西,但没有找到任何有用的

注意:我使用的是GCC编译器(代码块)(假设使用Microsoft Windows)


您必须通过读取鼠标事件,然后通过
setConsoleorPosition

设置光标位置。在turbo c中,我通过定义x86中断来使用中断例程。你可以试着用它

它可以为任何中断提供输入,包括按下和释放鼠标,以及鼠标当前所在的位置。但是您必须首先了解C中的x86中断才能使用它们

对不起,我现在没有一个例子


建议:如果你想模拟一个文本编辑器,你也应该允许通过箭头移动,当你使用a=getche()时,它会打印并在a中给你输入,然后你使用printf(“%c”)而没有任何变量,这实际上是不需要的。

我不确定我是否得到了它。单击时是否希望闪烁的文本光标移动到鼠标光标?如果是这样的话,我看不出监视键盘输入的Enter键有什么意义。。。你需要做的是一个Windows事件回调来捕获你窗口上的鼠标点击事件,你当然不需要任何多线程处理。看起来像Microsoft Windows。通常,您可能没有windows或鼠标(例如,通过SSH连接到Linux服务器时)。