您好,登錄后才能下訂單哦!
std::format
是 C++20 中引入的一個新特性,它提供了一種類型安全且易于使用的方式來格式化字符串。這個函數類似于 Python 的 str.format
或 C# 的 string.Format
,但它是 C++ 標準庫的一部分。
std::format
的基本語法如下:
std::string formatted_string = std::format("{0} {1} {2}", arg1, arg2, arg3);
在這個例子中,{0}
、{1}
和 {2}
是占位符,它們將被 arg1
、arg2
和 arg3
的值替換。
std::format
支持多種類型的參數,包括:
int
、float
、double
、char
、bool
)std::string
)int*
、float*
等)int&
、float&
等)const char*
)std::format
支持一些基本的格式說明符,如:
%d
或 d
:十進制整數%f
或 f
:浮點數(默認精度為 6 位小數)%s
或 s
:字符串%c
或 c
:字符%o
或 o
:八進制整數%x
或 x
:十六進制整數(小寫)%X
或 X
:十六進制整數(大寫)%p
或 p
:指針值(以十六進制表示)你還可以使用 %n
來插入換行符。
下面是一些使用 std::format
的示例:
#include <iostream>
#include <format>
#include <string>
int main() {
int a = 123;
float b = 456.789f;
std::string s = "hello";
std::string formatted = std::format("Integer: %d, Float: %.2f, String: %s", a, b, s);
std::cout << formatted << std::endl;
return 0;
}
在這個例子中,%.2f
指定了浮點數 b
的精度為 2 位小數。輸出將是:
Integer: 123, Float: 456.79, String: hello
注意:由于 std::format
返回的是 std::string
類型,因此你可以像處理任何其他字符串一樣處理它。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。