stringstream在數(shù)據(jù)格式化中的應(yīng)用

小樊
91
2024-06-28 01:50:31

stringstream是C++中用來(lái)進(jìn)行數(shù)據(jù)格式化的類(lèi),它可以將不同的數(shù)據(jù)類(lèi)型轉(zhuǎn)換成字符串,或者將字符串轉(zhuǎn)換成其他數(shù)據(jù)類(lèi)型。stringstream可以方便地將數(shù)據(jù)轉(zhuǎn)換成需要的格式,例如將數(shù)字轉(zhuǎn)換成字符串,或者將多個(gè)數(shù)據(jù)拼接成一個(gè)字符串。

一個(gè)常見(jiàn)的用法是將多個(gè)數(shù)據(jù)轉(zhuǎn)換成一個(gè)字符串,例如:

#include <iostream>
#include <string>
#include <sstream>

int main() {
    int num = 123;
    double d = 3.14;
    std::string str = "Hello";

    std::stringstream ss;
    ss << num << " " << d << " " << str;

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

    return 0;
}

上面的例子中,我們將一個(gè)整數(shù)、一個(gè)浮點(diǎn)數(shù)和一個(gè)字符串拼接成一個(gè)字符串,使用stringstream的<<操作符來(lái)進(jìn)行格式化輸出,最后將結(jié)果存儲(chǔ)在一個(gè)字符串中并輸出。

另一個(gè)常見(jiàn)的用法是將字符串轉(zhuǎn)換成其他數(shù)據(jù)類(lèi)型,例如:

#include <iostream>
#include <string>
#include <sstream>

int main() {
    std::string str = "123";
    int num;

    std::stringstream ss(str);
    ss >> num;

    std::cout << "Converted number: " << num << std::endl;

    return 0;
}

上面的例子中,我們將一個(gè)字符串轉(zhuǎn)換成一個(gè)整數(shù),使用stringstream的>>操作符來(lái)進(jìn)行格式化輸入,最后將結(jié)果存儲(chǔ)在一個(gè)整數(shù)變量中并輸出。

0