printf是C语言中用于格式化输出的函数,它的原型定义在<cstdio>头文件中。
printf函数的基本语法如下:
int printf(const char *format, ...);
- format:格式化字符串,用来指定输出的格式。格式化字符串中可以包含普通字符和格式控制符,格式控制符以
%
开头,用来指定输出的数据类型和格式 - ...:printf函数可以接受可变数量的参数,这些参数与format字符串中的格式控制符对应
以下是一些常用的格式控制符和对应的数据类型:
- %d:用于输出十进制整数
- %f:用于输出浮点数
- %c:用于输出字符
- %s:用于输出字符串
- %x:用于输出十六进制数
#include <stdio.h>
int main() {
int num = 10;
float pi = 3.14159;
char ch = 'A';
const char* str = "Hello, World!";
printf("Integer: %d\n", num);
printf("Float: %f\n", pi);
printf("Character: %c\n", ch);
printf("String: %s\n", str);
return 0;
}
如果想在C++中使用printf函数打印std::string类型的字符串,则可以通过调用c_str()方法将std::string转换为C风格的字符串(以const char*类型返回),然后再传递给printf函数。这样可以避免乱码问题。
以下是一个示例:
#include <cstdio>
#include <string>
int main() {
std::string str = "Hello, World!";
printf("%s\n", str.c_str());
return 0;
}