VC++中控制光标的移动

VC++中控制光标的移动

 

在TuborC中它的头文件conio.h里边有函数gotoxy()的定义。

然而在VisualC++环境中,头文件conio.h并没有gotoxy()函数。

那么在VC++中可以控制光标的移动吗?怎样实现?这个可以用SetConsoleCursorPosition函数实现,其头文件是windows.h,头文件写#include <windows.h>。
例如:
COORD pos = {10, 20};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);

其中COORD英文意思是坐标,坐标的,例如:地理坐标 coordinate。
如果用户定义了COORD pos,那么pos其实是一个 结构体 变量 ,其中X和Y是它的成员,通过修改pos.X和pos.Y的值就可以实现 光标 的位置控制。

 

以下这是VC中自己定义gotoxy函数的源代码,直接根据自己的需要修改使用就行了,要包含头文件#include<windows.h>。

#include <iostream>
#include <windows.h> 
using namespace std;
void gotoxy(int x, int y) //goto语句
{
	COORD pos;
	pos.X = x - 1;
	pos.Y = y - 1;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
} 
int main()
{
	gotoxy(15,6);
	cout<<"I'm here!";
	gotoxy(5,5);
	cout<<"I'm here!";
	return 0;
}


以上代码调试结果:

 

 

VC中设置文本颜色和背景

 

SetConsoleTextAttribute是API设置字体颜色和背景色的函数。

 

#include <iostream>
#include <windows.h>
using namespace std;
int main(void)
{
	HANDLE consolehwnd; //创建句柄,详细句柄知识,请百度一下或查MSDN
	consolehwnd = GetStdHandle(STD_OUTPUT_HANDLE); //实例化句柄
	SetConsoleTextAttribute(consolehwnd, FOREGROUND_RED);//设置字体颜色
	cout<<"hello ";
	SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY | FOREGROUND_GREEN);
	cout<<"world!\n";
	SetConsoleTextAttribute(consolehwnd,BACKGROUND_INTENSITY |BACKGROUND_BLUE);
	cout<<"It is really beautiful!\n";
	return 0;
}



 运行结果:

 
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值