我想让我的控制台更加丰富多彩.如何在用户输入时使用户输入(通过getline获得)
I want to make my console more colorful. How can I make the user input (obtained through getline) colorful while they type?
我只是想知道在用户将其键入控制台时是否可以为文本上色。
我正在为cout
'ED文本使用颜色库,但是我想知道在用户输入他/她的字符串时是否可以上色?
您可以使用Windows Console API进行此操作:
HANDLE console_output = ::GetStdHandle(STD_OUTPUT_HANDLE);
::SetConsoleTextAttribute(console_output, FOREGROUND_GREEN);
std::string buffer;
std::getline(std::cin, buffer);
std::cout << buffer << std::endl;
::CloseHandle(console_output);
输入文本的颜色为绿色。另外,不要忘记包括Windows.h
在Linux/MacOS上只做以下操作:
#include <iostream>
int main()
{
std::string foo;
std::cout << "Type your text here : x1B[31m";
std::cin >> foo;
std::cout << "x1B[0m" << std::endl;
std::cout << "Your input : " << foo << std::endl;
return (0);
}
litte解释:
键入以下特定字符串之一:
"x1B[31m" (red)
"x1B[32m" (green)
"x1B[33m" (yellow)
"x1B[34m" (blue)
"x1B[35m" (magenta)
"x1B[36m" (cyan)
"x1B[0m" (reset)
它将使用TermCap(代表终端功能),并更改后所有输出的颜色。使用这些Termcap后,不要忘记重置,否则您的终端将粘在所选的颜色上,直到您将其重置为止。
ps:不知道它是否适用于Windows。
相关文章:
- C++如何通过用户输入删除列表元素
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 如何只允许用户输入正整数
- C++如何计算用户输入的数字中的偶数位数
- 通过for循环使用用户输入填充列表
- 在C++中,我如何接受不同于同一行的用户输入
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 显示基于用户输入的整数的字符
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 打印时有二叉树问题.用户输入不打印任何内容
- C ++奇怪的数组由用户输入
- 如何允许大写和小写用户输入?
- C++读取用户输入而不按回车键(Mac OS X),与Turbo Pascal中的读取键相同
- 如何存储用户输入的所有数据,然后在他们想要查看所有数据时显示它们
- 如何使用用户输入变量制作二维数组?
- 用户输入字符串的文件附加问题..C++
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 如何使用递归循环我的代码(当用户输入无效输入时,它会再次提示他们)?