C++ string 格式化
时间: 2023-09-24 20:06:26 浏览: 114
在 C++ 中,可以使用 `sprintf` 或 `std::stringstream` 来格式化字符串。
1. 使用 `sprintf`:
`sprintf` 可以将格式化后的结果存储到字符数组中。
```cpp
#include <cstdio>
#include <string>
int main() {
char str[100];
int num = 123;
float f = 3.14;
sprintf(str, "num=%d, f=%.2f", num, f);
std::string s(str);
printf("%s\n", s.c_str()); // 输出:num=123, f=3.14
return 0;
}
```
2. 使用 `std::stringstream`:
`std::stringstream` 可以将格式化后的结果存储到 `std::string` 类型的变量中。
```cpp
#include <string>
#include <sstream>
#include <iomanip>
int main() {
int num = 123;
float f = 3.14;
std::stringstream ss;
ss << "num=" << num << ", f=" << std::fixed << std::setprecision(2) << f;
std::string s = ss.str();
printf("%s\n", s.c_str()); // 输出:num=123, f=3.14
return 0;
}
```
注意,在使用 `std::stringstream` 时,可以使用 `std::fixed` 和 `std::setprecision` 控制浮点数的小数位数。
阅读全文