(转载)Linux下printf输出字符串的颜色

本文详细介绍了ANSI控制码的应用,包括如何使用控制码改变文本的颜色、亮度等属性,以及如何进行光标的移动和屏幕的清除操作。这些控制码可以在命令行环境中实现动态输出效果,但不适用于Windows系统的命令提示符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(转载)http://www.cnblogs.com/sunyubo/archive/2011/03/04/2282070.html

printf("\033[字背景颜色;字体颜色m字符串\033[0m" );

printf("\033[41;32m字体背景是红色,字是绿色\033[0m\n");
41是字背景颜色, 32是字体的颜色, 字体背景是红色,字是绿色是字符串.  后面的\033[0m是控制码.

颜色代码:
QUOTE:
字背景颜色范围: 40--49                   字颜色: 30--39

                40: 黑                           30: 黑
                41: 红                           31: 红
                42: 绿                           32: 绿
                43: 黄                           33: 黄
                44: 蓝                           34: 蓝
                45: 紫                           35: 紫
                46: 深绿                         36: 深绿
                47: 白色                         37: 白色

ANSI控制码:
QUOTE: 
  \033[0m   关闭所有属性   
  \033[1m   设置高亮度   
  \03[4m   下划线   
  \033[5m   闪烁   
  \033[7m   反显   
  \033[8m   消隐   
  \033[30m   --   \033[37m   设置前景色   
  \033[40m   --   \033[47m   设置背景色   
  \033[nA   光标上移n行   
  \03[nB   光标下移n行   
  \033[nC   光标右移n行   
  \033[nD   光标左移n行   
  \033[y;xH设置光标位置   
  \033[2J   清屏   
  \033[K   清除从光标到行尾的内容   
  \033[s   保存光标位置   
  \033[u   恢复光标位置   
  \033[?25l   隐藏光标   
  \33[?25h   显示光标

这样, 在某些时候就可以实现动态的输出.

例子:

程序输出:

启示,这个跟PS1的控制是一样的,并且在Windwos下是不起作用的。

转载于:https://www.cnblogs.com/Robotke1/archive/2013/05/12/3073953.html

### Linux 下 `printf` 的基本用法 在 Linux 环境下,`printf` 是一种非常灵活的格式化输出工具。它不仅可以用于简单的字符串输出,还可以通过指定格式符实现复杂的数值、字符和其他数据类型的显示。 #### 基本语法 以下是 `printf` 的基本语法: ```bash printf "format_string" arguments... ``` 其中 `"format_string"` 表示格式化的模板字符串,而 `arguments...` 则表示要替换到模板中的实际参数。 --- #### 示例 1:简单字符串输出 如果只需要输出普通的字符串,则可以直接使用如下方式: ```bash printf "Hello, World\n" ``` 上述代码会输出带换行符的内容[^2]。 #### 示例 2:多行字符串输出 可以通过嵌入 `\n` 实现多行输出: ```bash printf "Line one.\nLine two.\n" ``` 这将分别输出两行文字。 #### 示例 3:带有变量的字符串输出 假设有一个变量存储了姓名信息,可以将其插入到字符串中一起输出: ```bash name="Alice" printf "Name: %s\n" "$name" ``` 这里 `%s` 是占位符,代表后续传递的一个字符串型参数。 #### 示例 4:浮点数的小数精度控制 对于需要精确控制小数位的情况,可利用 C 风格的格式说明符完成操作。例如,保留两位小数输出某个双精度值: ```c #include <stdio.h> int main(){ double value = 3.14159; printf("%.2lf\n", value); return 0; } ``` 此程序片段展示了如何借助于 `%.2lf` 将数字四舍五入至最近整百分数单位后再予以展现[^1]。 #### 示例 5:组合多种类型的数据 当存在不同类型的数据需共同呈现时,可通过定义相应的转换规格达成目标。下面的例子混合了整数与文本串: ```bash age=28 greeting="Greetings from user:" printf "%s Age is:%d years old.\n" "$greeting" $age ``` 此处 `%d` 对应的是一个十进制正负整数位置预留处。 --- ### 注意事项 - **自动添加换行**:默认情况下,除非显式提供`\n`作为一部分格式描述词组的一部分,否则不会自动生成新行结束标记。 - **转义序列支持**:除了常规字母外还接受特殊含义符号如`\t`(水平跳格)或者`\b`(退格键效果)[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值