ホームページ > バックエンド開発 > C++ > ostringstreamの使用方法の詳細な説明

ostringstreamの使用方法の詳細な説明

DDD
リリース: 2023-12-06 13:24:16
オリジナル
1670 人が閲覧しました

ostringstream は、文字列の構築に使用できる C 標準ライブラリのクラスです。出力ストリームであり、cout と同様に使用できますが、出力結果はターミナルに表示されず、保存されます。文字列オブジェクト内。文字列を構築する必要がある場合は、ostringstream を使用して操作できます。これは、フォーマットされた出力、ログ記録などに非常に役立ちます。

ostringstream は C 標準ライブラリのクラスで、 ヘッダー ファイルに属します。このクラスは文字列の構築に使用でき、出力ストリームであり cout と同様に使用できますが、出力結果はターミナルに表示されず、文字列オブジェクトに保存されます。文字列を構築する必要がある場合は、ostringstream を使用して操作できます。これは、フォーマットされた出力、ログ記録などに非常に役立ちます。

次は、ostringstream の基本的な使用法です:

#include <sstream>  
#include <iostream>  
#include <string>  
  
int main() {  
    // 创建一个ostringstream对象  
    std::ostringstream oss;  
  
    // 向ostringstream对象中插入数据  
    oss << "Hello, " << "world!" << std::endl;  
  
    // 将ostringstream对象转化为字符串  
    std::string str = oss.str();  
  
    // 输出字符串  
    std::cout << str;  
  
    return 0;  
}
ログイン後にコピー

この例では、最初に ostringstream オブジェクトを作成し、それから cout のようにそれを使用してデータを挿入します。挿入されたデータには文字列と改行が含まれます。次に、str() メソッドを使用して ostringstream オブジェクトを文字列に変換し、最後にその文字列を端末に出力します。

このコードを実行すると、ターミナルは次のように出力します:

Hello, world!
ログイン後にコピー

<< 演算子を使用して ostringstream オブジェクトにデータを挿入することに加えて、メソッド oss.write を使用することもできます。 (char_array, size_t )。文字配列を ostringstream オブジェクトに書き込みます。このメソッドには 2 つのパラメータが必要です。最初のパラメータは書き込まれる文字配列で、2 番目のパラメータは書き込まれるバイト数です。例:

char arr[] = "Hello, world!";  
oss.write(arr, sizeof(arr) - 1);  // 第二个参数是-1,表示写入所有字符,不包括字符串结尾的null字符。
ログイン後にコピー

さらに、ostringstream は、setf()、unsetf()、precision()、setiosflags() など、出力の設定に使用できる他の多くのメソッドも提供します。フォーマット。例:

oss.setf(std::ios::fixed, std::ios::floatfield);  // 设置浮点数格式为固定小数点格式。  
oss.precision(2);  // 设置精度为2。  
oss << 3.14159265358979323846;  // 输出3.14。
ログイン後にコピー

一般に、ostringstream は文字列の構築に使用できる非常に便利なツールです。cout と非常によく似て使用されますが、出力結果は文字列に表示されるのではなく、文字列に保存されます。ターミナル。

以上がostringstreamの使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート