IzackI 发表于 2022-12-2 00:32:10

c在Windows控制台中居中输出内容

鱼油们,大概思路是使用Windows api读取控制台宽度,然后补空格打到居中输出的作用。
不知道api怎么用,求个代码

zhangjinxuan 发表于 2022-12-2 09:11:47

#include<bits/stdc++.h>
#include<windows.h>//头文件
using namespace std;
void gotoxy(HANDLE hOut, int x, int y)//移动光标
{
        COORD pos;
        pos.X = x; //横坐标
        pos.Y = y; //纵坐标
        SetConsoleCursorPosition(hOut, pos);
}
void middle(char str[],int y)
{
        HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO bInfo;
    GetConsoleScreenBufferInfo(hOutput, &bInfo);
    int dwSizeX=bInfo.dwSize.X,dwSizey=bInfo.dwSize.Y;//获取控制台屏幕缓冲区大小
    int len=strlen(str);//获取要输出的字符串的长度
        int x=dwSizeX/2-len/2;
        gotoxy(hOutput,x,y);//移动光标
        cout<<str;
}
int main()
{
        char str;
        int y;
        cin>>str;
    middle(str,2);
        return 0;
}

IzackI 发表于 2022-12-2 11:49:02

zhangjinxuan 发表于 2022-12-2 09:11


每次都是你,谢谢你的帮助
页: [1]
查看完整版本: c在Windows控制台中居中输出内容