COORD是windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。其定义为:
typedef struct _COORD{
SHORT x;
SHORT y;
}COORD,*PCOORD;
X :水平坐标或列值。单位取决于函数调用。
Y:垂直坐标或行值。单位取决于函数调用。
例子:
#include<stdio.h>
#include <Windows.h>
void gotoxy(int x,int y)
{
COORD loc={x,y};
HANDLE hOutput=GetStdHandle(STD_OUTPUT_HANDLE);//创建句柄,//实例化句柄
SetConsoleTextAttribute(hOutput, FOREGROUND_RED);//设置字体颜色
SetConsoleCursorPosition(hOutput,loc);
}
int main()
{
gotoxy(5,5);
printf("hello world");
system("pause");
return 0;
}
参数说明:
GetStdHandle(nStdHandle)是返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕缓冲区的句柄。
其参数nStdHandle的值为下面几种类型的一种:
值的含义
STD_INPUT_HANDLE 标准输入的句柄
STD_OUTPUT_HANDLE 标准输出的句柄
STD_ERROR_HANDLE 标准错误的句柄
SetConsoleTextAttribute函数的原型为BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);
wAttributes是用来设置颜色的参数:
FOREGROUND_BLUE 字体颜色:蓝
FOREGROUND_GREEN 字体颜色,绿
FOREGROUND_RED 字体颜色,红
FOREGROUND_INTENSITY 前景色,高亮,显示
BACKGROUND_BLUE 背景颜色,蓝
BACKGROUND_GREEN 背景颜色,绿
BACKGROUND_RED 背景颜色,红
BACKGROUND_INTENSITY 背景色,高亮显示
FOREGROUND_BLUE,FOREGROUND_GREEN,FOREGROUND_RED,FOREGROUND_INTENSITY,BACKGROUND_BLUE,BACKGROUND_GREEN,BACKGROUND_RED,BACKGROUND_INTENSITY对应的值分别是1 2 4 8 16 32 64 128。
也就是说SetConsoleTextAttribute函数是靠一个字节的低四来控制前景色,高四位来控制背景色。
SetConsoleCursorPosition是API中定位光标位置的函数。
句柄是WINDOWS用来标识被应用程序所建立或使用的对象的唯一整数
system是一个C语言和C++下的函数。windows操作系统下system () 函数详解主要是在C语言中的应用,system函数需加头文件后方可调用。
函数名: system
功 能: 发出一个DOS命令
用 法: int system(char *command);
例如:
又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作