streamstring在c++中的數(shù)據(jù)格式化方法

c++
小樊
88
2024-09-13 01:53:17

std::stringstream 是 C++ 標(biāo)準(zhǔn)庫(kù)中的一個(gè)類(lèi),它位于 <sstream> 頭文件中

以下是使用 std::stringstream 進(jìn)行數(shù)據(jù)格式化的示例:

#include<iostream>
#include <iomanip> // 包含設(shè)置輸出格式的函數(shù),如 setw, setprecision 等
#include <sstream>
#include<string>

int main() {
    int a = 123;
    float b = 456.789f;

    std::stringstream ss;

    // 設(shè)置寬度為 10,右對(duì)齊,用空格填充
    ss<< std::setw(10)<< std::right << a << "\n";

    // 設(shè)置浮點(diǎn)數(shù)精度為 2 位小數(shù)
    ss<< std::fixed<< std::setprecision(2);

    // 設(shè)置寬度為 10,左對(duì)齊,用空格填充
    ss<< std::setw(10)<< std::left << b << "\n";

    std::string formatted_output = ss.str();
    std::cout<< formatted_output;

    return 0;
}

這段代碼將輸出:

      123
456.79

在這個(gè)示例中,我們使用了 std::setwstd::right/std::left 來(lái)設(shè)置輸出寬度和對(duì)齊方式。同時(shí),我們使用了 std::fixedstd::setprecision 來(lái)設(shè)置浮點(diǎn)數(shù)的精度。最后,我們使用 ss.str() 方法獲取格式化后的字符串。

0