【发布时间】:2016-05-03 22:43:10
【问题描述】:
我正在尝试在屏幕上绘制一个如下所示的框:
┌───┐
└───┘
我在这里找到了移动光标的 ANSI 命令:
http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x361.html
我的代码如下所示:
int main()
{
int boxsize = 5;
std::string bs = std::to_string(boxsize);
std::string up = "\033[<"+bs+">A";
std::string down = "\033[<"+bs+">B";
std::string back = "\033[<"+bs+">D";
std::cout << "┌";
for (int i = 0; i < boxsize-2; ++i)
{
std::cout << "─";
std::cout << down;
std::cout << "─";
std::cout << up;
}
std::cout << "┐";
std::cout << down;
std::cout << "┘";
std::cout << back;
std::cout << "└";
}
我的结果是这样的:
┌─5>B─5>A─5>B─5>A─5>B─5>A┐5>B┘5>D└
是我错误地使用了 ANSI 命令还是我的终端(yakuake)有问题?
【问题讨论】: