c中控制台功能的用途是什么?

时间:2014-03-05 23:52:54

标签: c

我使用了turbo c ++,像 gotoxy 这样的命令在没有初始化的情况下工作得很好。我可以马上使用它们,而在Code :: Blocks中需要稍微混乱并创建一个我稍后在main函数中调用的函数。

但有人可以解释这个问题:

#include <windows.h>

COORD coord= {0,0};   \\ Q1) What does this COORD means? What kind of data type is this?

void gotoxy(int x, int y)
{
coord.X=x;            
coord.Y=y;
SetConsoleCursorPostion(GetStdHandle(Std_Output_Handle(),coord); 
/*What does this last line code mean? SetConsoleCursorPosition? Please explain each & every word of this line : GetStdHandle?? What does this Handle do?*/
}

在搜索控制台功能和结构后,我发现了这个:http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx

它会对C有帮助吗?我应该阅读并学习所有这些吗?

2 个答案:

答案 0 :(得分:1)

所有提到的功能都是Windows API函数,并在msdn中有详细记录。

COORD是一个用于保持屏幕COORDinates X和Y的结构。 GetStdHandle函数返回标准设备的句柄(输入,输出或错误)。 句柄是系统表中的索引,可以访问Windows内核对象。 Std_Output_Handle()我想返回STD_OUTPUT_HANDLE值来指定std输出, 主动控制缓冲区。 SetControlCursorPosition设置光标位置(显然)。

“它对C有用吗?” - 如果你在Windows上的项目中使用它们,几乎可以肯定。 imho,使用Windows API函数没什么不好。它们记录良好且易于使用。

答案 1 :(得分:0)

SetConsoleCursor将游标设置到依赖于cord.x和cord.y的控制台中的指定位置 GetstdHandle()获取处理打印字符到控制台的句柄。第二个参数是光标新位置的坐标 如果你已经声明了这个函数,你通常可以使用gotoxy(x,y),它会正常工作。 Coord是结构:

typedef struct _COORD {
     SHORT X; 
     SHORT Y;
}COORD, *PCOORD;