int main()
{
printf("基础知识");
return 0;
}
\t
printf("\t\t\t基础知识");
int main()
{
printf("\t\t\t\t\t\t\t\t\t\t 基础知识");
return 0;
}
#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[100]={"基础知识"};
int y=12;
middle(str,y);
return 0;
}
那你需要知道终端中一行大概是多少个字(英文宽度)
然后用strlen获取你的字符串长度,如果是汉字,那么你需要再把这个值乘以2
然后用总宽度减掉字符串宽度,就是你需要补多少个空格的数量