我正在构建一个字典,当我打印(输出)单词防御时,我想用粗体打印单词本身.
当我打印
当我打印
cout<<word<<endl<<defention1<<defenition2<<endl;
我希望唯一的“字”是大胆的.
我怎样才能做到这一点?
解决方法
标准C使用各种区域设置/字符集以各种字母显示输出.但是,文本本身只是文本,没有格式化.如果您希望输出为彩色,粗体或斜体,则需要向终端发送适当的字符代码.但是,这是实现定义的,并不保证可以在所有平台上运行.例如,在Linux / UNIX中,如果终端支持,则可以使用
ANSI escape codes.
适用于我的Mac OS X的示例:
#include <iostream> int main() { std::cout << "\e[1mBold\e[0m non-bold" << std::endl; // displays Bold in bold }
如果你愿意,你可以采取额外步骤并创建操纵器来打开/关闭加粗:
#include <iostream> std::ostream& bold_on(std::ostream& os) { return os << "\e[1m"; } std::ostream& bold_off(std::ostream& os) { return os << "\e[0m"; } int main() { std::cout << bold_on << "bold" << bold_off << " non-bold" << std::endl; }