21xrx.com
2024-11-05 16:23:40 Tuesday
登录
文章检索 我的文章 写文章
C++中的printf函数
2023-07-04 13:37:36 深夜i     --     --
C++ printf函数 输出格式 控制字符 标准输出

C++中的printf函数是一个很强大的函数,它可以将变量以指定的格式输出到控制台或文件中。它支持格式化输出字符、整数、浮点数和字符串等各种类型的数据,同时也支持对变量的宽度、精度、对齐方式等进行设置,非常灵活。

使用printf函数时需要指定输出格式,这通过格式字符串来完成。格式字符串是由转换说明和普通字符组成的字符串,其中转换说明用于表示输出类型和格式,普通字符则将按原样输出。例如,下面的代码段将一个整数 x 和一个浮点数 y 输出到控制台:


int x = 123;

float y = 3.1415926;

printf("x=%d, y=%.2f\n", x, y); // 输出:x=123, y=3.14

在这个例子中,格式字符串中的 `%d` 和 `%f` 分别表示输出整数和浮点数,而 `%.2f` 则表示输出浮点数保留两位小数。注意,在格式字符串中使用特殊字符时需要使用转义符 `\` 进行转义,例如输出一个 `%` 符号需要写成 `%%`。

格式字符串中还可以设置对齐方式和宽度。例如,下面的代码段将一个字符串 s 居中输出,并在两侧填充空格:


string s = "hello";

printf("%*s\n", (int)(s.length()+4)/2, s.c_str()); // 输出: hello

在这个例子中,`%*s` 表示输出字符串,并使用后面的参数指定其宽度。由于需要在字符串两侧各填充两个空格,所以宽度为字符串长度加上四的一半。注意,需要将字符串转换为 C 风格字符串才能传给 printf 函数。

除了格式化输出,printf 函数还可以进行输入。例如,下面的代码段从控制台读入一个整数和一个浮点数:


int x;

float y;

scanf("%d %f", &x, &y);

printf("x=%d, y=%.2f\n", x, y);

在这个例子中,`%d` 和 `%f` 分别表示读入整数和浮点数,并使用 `&` 取变量地址传给 scanf 函数。

总的来说,printf 函数是一个非常实用的函数,可以大大简化程序中的输出和输入操作。但由于其强大而复杂的功能,使用时需要仔细阅读文档并谨慎调用,以避免出现意外的错误。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复