如何将光标移回 C 中的第一行?
How to move cursor back to the first line in C?
我是 C 的新手,这是我的代码。
#include<stdio.h>
void printCard(char name, char symbol);
int main()
{
printCard('J','*');
printCard('K','&');
}
void printCard(char name, char symbol)
{
printf("-------------\n");
printf("| %c |\n",name);
printf("| %c |\n",symbol);
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| %c |\n",symbol);
printf("| %c |\n",name);
printf("-------------\n");
}
这是我得到的输出。
有没有办法让第二张卡片出现在第一张卡片旁边?
谢谢
如果您的终端支持它们,这些终端转义码可用于定位光标。
#include<stdio.h>
void printCard( int col, char name, char symbol);
int main()
{
printf ( "3[2J");//clear screen
printCard( 0, 'J','*');
printCard( 1, 'K','&');
return 0;
}
void printCard(int col, char name, char symbol)
{
printf ( "3[1;%dH", col * 14);//move cursor line 1
printf("-------------\n");
printf ( "3[2;%dH", col * 14);//move cursor line 2
printf("| %c |\n",name);
printf ( "3[3;%dH", col * 14);//move cursor line 3
printf("| %c |\n",symbol);
printf ( "3[4;%dH", col * 14);//move cursor line 4
printf("| |\n");
printf ( "3[5;%dH", col * 14);//move cursor line 5
printf("| |\n");
printf ( "3[6;%dH", col * 14);//move cursor line 6
printf("| |\n");
printf ( "3[7;%dH", col * 14);//move cursor line 7
printf("| %c |\n",symbol);
printf ( "3[8;%dH", col * 14);//move cursor line 8
printf("| %c |\n",name);
printf ( "3[9;%dH", col * 14);//move cursor line 9
printf("-------------\n");
}
这是对我有用的功能。
void gotoXY(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
感谢@PCLuddite 指点我检查 setConsoleCursorPosition,它帮助我在线找到了上述功能。希望这对其他人有帮助。
我是 C 的新手,这是我的代码。
#include<stdio.h>
void printCard(char name, char symbol);
int main()
{
printCard('J','*');
printCard('K','&');
}
void printCard(char name, char symbol)
{
printf("-------------\n");
printf("| %c |\n",name);
printf("| %c |\n",symbol);
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| %c |\n",symbol);
printf("| %c |\n",name);
printf("-------------\n");
}
这是我得到的输出。
有没有办法让第二张卡片出现在第一张卡片旁边? 谢谢
如果您的终端支持它们,这些终端转义码可用于定位光标。
#include<stdio.h>
void printCard( int col, char name, char symbol);
int main()
{
printf ( "3[2J");//clear screen
printCard( 0, 'J','*');
printCard( 1, 'K','&');
return 0;
}
void printCard(int col, char name, char symbol)
{
printf ( "3[1;%dH", col * 14);//move cursor line 1
printf("-------------\n");
printf ( "3[2;%dH", col * 14);//move cursor line 2
printf("| %c |\n",name);
printf ( "3[3;%dH", col * 14);//move cursor line 3
printf("| %c |\n",symbol);
printf ( "3[4;%dH", col * 14);//move cursor line 4
printf("| |\n");
printf ( "3[5;%dH", col * 14);//move cursor line 5
printf("| |\n");
printf ( "3[6;%dH", col * 14);//move cursor line 6
printf("| |\n");
printf ( "3[7;%dH", col * 14);//move cursor line 7
printf("| %c |\n",symbol);
printf ( "3[8;%dH", col * 14);//move cursor line 8
printf("| %c |\n",name);
printf ( "3[9;%dH", col * 14);//move cursor line 9
printf("-------------\n");
}
这是对我有用的功能。
void gotoXY(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
感谢@PCLuddite 指点我检查 setConsoleCursorPosition,它帮助我在线找到了上述功能。希望这对其他人有帮助。