【发布时间】:2011-04-04 10:42:07
【问题描述】:
有没有办法以编程方式将提示放置在控制台应用程序中?我正在使用 Visual Studio 2008。
谢谢
【问题讨论】:
-
你的意思是要放置光标?
标签: c++ visual-studio visual-c++
有没有办法以编程方式将提示放置在控制台应用程序中?我正在使用 Visual Studio 2008。
谢谢
【问题讨论】:
标签: c++ visual-studio visual-c++
你的意思是移动闪烁的东西吗?如果是这样,我认为 SetConsoleCursorPosition 就是您想要的。控制台函数参考页http://msdn.microsoft.com/en-us/libr...73(VS.85).aspx
【讨论】:
假设你说的是输出位置,你可以在两个层次上控制它。
在最高级别,您可以使用控制字符,例如回车、换行和退格。查看离您最近的 ASCII 表。
在较低级别,您可以使用 Windows API 控制台函数。
这些功能又分为两个级别,根据您想要控制的内容(例如对 Ctrl C 的响应),您可能需要深入研究到最低级别。
更便携的替代方法是使用一些可移植的“终端”库,例如 ncurses。
干杯,
【讨论】:
在 .NET 上找到
#include <windows.h>
#include <stdio.h>
void Locate ( int row, int col )
{ if ( row < 0 || row > 24 ) return;
if ( col < 0 || col > 79 ) return;
COORD c = { (SHORT)col, (SHORT)row };
SetConsoleCursorPosition ( GetStdHandle ( STD_OUTPUT_HANDLE ), c ); }
void main ( )
{ int row;
int col;
printf ( "Row (0-24): " ); scanf ( "%d", &row );
printf ( "Col (0-79): " ); scanf ( "%d", &col );
Locate ( row, col );
printf ( "This text is starting at row %d, column %d\n", row, col ); }
【讨论】: