string类型如何格式化
时间: 2023-11-02 13:10:38 浏览: 33
在C++中,可以使用标准库中的`std::sprintf()`或`std::string::format()`函数来格式化字符串。
例如,使用`sprintf()`函数可以将一个整数和一个浮点数格式化为一个字符串:
```c++
#include <cstdio>
int main() {
int i = 42;
float f = 3.14;
char buffer[100];
std::sprintf(buffer, "i = %d, f = %.2f", i, f);
std::puts(buffer); // prints "i = 42, f = 3.14"
return 0;
}
```
使用`std::string::format()`函数可以通过类似的方式格式化字符串,但是它会返回一个新的`std::string`对象:
```c++
#include <string>
int main() {
int i = 42;
float f = 3.14;
std::string s = std::string::format("i = %d, f = %.2f", i, f);
std::puts(s.c_str()); // prints "i = 42, f = 3.14"
return 0;
}
```
需要注意的是,`sprintf()`和`std::string::format()`都可以产生缓冲区溢出的问题,因此需要确保缓冲区足够大以容纳格式化后的字符串。