2017年10月18日
《その84》 文字列ストリーム
文字列ストリーム
次のプログラムで文字列ストリーム istringstream,ostringstream,stringstream について
確認しておきます。
#include <sstream>
#include <iostream>
int main() {
std::string str = "2017/10/18";
std::istringstream is(str); // ※1. 文字列からの入力用ストリーム
int y, m, d;
char c;
is >> y >> c >> m >> c >> d; // ※2.
std::ostringstream os; // ※3. 文字列への出力用ストリーム
os << y << "年" << m << "月" << d << "日\n"; // ※4.
std::cout << os.str(); // ※5.
}
※1. 文字列からの入力用ストリーム istringstream型の変数 is を宣言し、同時に
文字列 "2017/10/18" をセット。
※2. 文字を読み込む( '/' を c で空読み )。
y … 2017, c … '/', m … 10, c … '/', d … 18
※3. 文字列への出力用ストリーム ostringstream型の変数 os を宣言。
※4. 生成した出力用ストリーム os に日付を挿入。
※5. ストリーム os に蓄えられている文字列は、strメンバ関数の呼出しによって
string型の値として取得できる。
入出力用ストリーム stringstream は、
入力用ストリーム istringstream と 出力用ストリーム ostringstream の両方の働きをします。
#include <sstream>
#include <iostream>
int main() {
std::string str = "2017/10/18";
std::stringstream is(str); // 文字列への入出力用ストリーム
int y, m, d;
char c;
is >> y >> c >> m >> c >> d;
std::stringstream os; // 文字列への入出力用ストリーム
os << y << "年" << m << "月" << d << "日\n";
std::cout << os.str();
}
--
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6868265
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック