溫馨提示×

stringstream是什么

小樊
82
2024-10-16 14:41:12
欄目: 編程語言

stringstream 是 C++ 標(biāo)準(zhǔn)庫中的一個類,它位于 <sstream> 頭文件中。stringstream 是一個流類,它允許你在內(nèi)存中讀寫字符串。你可以像使用文件流或控制臺流一樣使用 stringstream,但所有的輸入和輸出都是在內(nèi)存中完成的。

stringstream 提供了多種方法來操作字符串,包括 str()(獲取字符串內(nèi)容)、clear()(清除所有錯誤標(biāo)志)、fail()(檢查是否失敗)、eof()(檢查是否到達(dá)文件末尾)等。此外,它還支持輸入和輸出操作,如 <<(輸出到字符串流)和 >>(從字符串流讀?。?/p>

下面是一個簡單的示例,展示了如何使用 stringstream

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

int main() {
    std::stringstream ss;
    std::string str;
    int num;

    // 使用 << 輸出到字符串流
    ss << "Hello, World!" << std::ends << 42;

    // 使用 str() 獲取字符串內(nèi)容
    std::string output = ss.str();
    std::cout << "Output string: " << output << std::endl;

    // 使用 >> 從字符串流讀取
    std::getline(ss, str, '!');
    std::cin >> num;

    // 輸出讀取到的字符串和整數(shù)
    std::cout << "Read string: " << str << std::endl;
    std::cout << "Read number: " << num << std::endl;

    return 0;
}

在這個示例中,我們創(chuàng)建了一個 stringstream 對象 ss,并使用 << 操作符將字符串 “Hello, World!” 和整數(shù) 42 寫入到字符串流中。然后,我們使用 str() 方法獲取字符串流的內(nèi)容,并將其存儲在 output 變量中。接下來,我們使用 std::getline() 函數(shù)從字符串流中讀取一個以 ‘!’ 結(jié)尾的字符串,并將其存儲在 str 變量中。最后,我們使用 >> 操作符從字符串流中讀取一個整數(shù),并將其存儲在 num 變量中。

0