首页 > 用c写交互式命令行工具,如何实现自定义光标输入的位置?

用c写交互式命令行工具,如何实现自定义光标输入的位置?

需要的效果如下,请指教该如何实现?
譬如,命令行下输入命令名,回车执行。
1,屏幕原有内容被清除,或者说,进入了本工具自定义的显示区。
2,在终端窗口的任意一块地方,显示输出。该输出可以是任意形式,比方说可以是一些printf,或者一些绘的图。
3,在终端窗口的任意一块地方,提供用户输入。该输入为字符形式,譬如vi的命令输入方式。

目前拦路的地方主要是怎样在终端实现这样一个界面——它看起来有点像文本编辑器似的。求最简单实现法。


定位代码

void gotoxy(int x, int y)
{
	COORD pos = {x,y};
	HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄
 
	int errorIndex = GetLastError();
	if(errorIndex != 0)
	{
		printf("\ngoto xy error:%d\n",errorIndex);
		return;
	} 
	SetConsoleCursorPosition(hOut, pos);
}

清屏代码

void clrscr()
{
	system("cls");
}

你还是考虑下GNU的 ncurses库吧


只能通过空格调整。

【热门文章】
【热门文章】