c/c++ console(控制台)编程详解

您所在的位置:网站首页 windows控制台怎么注册dll c/c++ console(控制台)编程详解

c/c++ console(控制台)编程详解

2023-09-28 06:33| 来源: 网络整理| 查看: 265

前言:

控制台文本窗口的控制是基于win32 api(win32 api可理解为微软给我们提供的一系列函数的集合)实现的;

例1:

#include int main() { printf("Hello World!\n"); return 0; }

运行结果:

例1中,我们用printf()函数实现在控制台输出了hello world!然而当我们想要将之前输出的内容清除时,在stdio.h中的函数并不能满足我们的需求;这时我们就要借助于win32 api函数

例2:

#include #include int main() { printf("Hello World!\n"); Sleep(1000); system("cls"); return 0; }

运行结果:

例2中,用到windows.h中的Sleep();system();函数,Sleep(1000)函数功能为延时1s后程序向下运行,system(“cls”)清除内容,所以在例2中,程序运行显示hello world!一秒后就清除

用于控制台窗口操作的API函数如下:

GetConsoleScreenBufferInfo 获取控制台窗口信息

GetConsoleTitle 获取控制台窗口标题

ScrollConsoleScreenBuffer 在缓冲区中移动数据块

SetConsoleScreenBufferSize 更改指定缓冲区大小

SetConsoleTitle 设置控制台窗口标题

SetConsoleWindowInfo 设置控制台窗口信息

例3:

#include #include int main(void) { SetConsoleTitle(L"hello world!"); // 设置窗口标题 printf("hello world!"); return 0; }

运行结果:

在例3中,我们使用了setconsoletitle()函数;窗口标题已然改变成为hello world!了

关于其它函数的使用方法,可以度,这里暂且不做赘述了。。。。。

 

1.控制台初始化

 

#include #include using namespace std; int main() { //设置控制台窗口标题 //SetConsoleTitle("更改标题字符串") SetConsoleTitleA("hello world!"); //获取控制台窗口信息; //GetConsoleScreenBufferInfo(HANDLE hConsoleOutput, CONSOLE_SCREEN_BUFFER_INFO *bInfo) //第一个hConsoleOutput参数(标准控制句柄)通过GetStdHandle()函数返回值获得 //第二个参数CONSOLE_SCREEN_BUFFER_INFO 保存控制台信息结构体指针 /*数据成员如下: { COORD dwSize; // 缓冲区大小 COORD dwCursorPosition; //当前光标位置 WORD wAttributes; //字符属性 SMALL_RECT srWindow; //当前窗口显示的大小和位置 COORD dwMaximumWindowSize; //最大的窗口缓冲区大小 } */ HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO bInfo; GetConsoleScreenBufferInfo(hOutput, &bInfo); cout X++;break; case 80: MoPos->Y++;break; default: break; } } int main() { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3