next up previous contents
: コンテナクラス : 使ってみよう、便利なクラス : 使ってみよう、便利なクラス   目次

TString と TObjString

${\tt TString}$ は、ROOT の提供する、文字列を扱うクラスである。


  TString s1("hoge");    // "hoge" という内容の TString を作成
  TString s2("hoge");    // "hoge" という内容の TString をもう1つ作成
  cout << s1 << endl;    // "hoge" をプリント
  cout << s1[1] << endl; // "o" をプリント
  cout << s1+s2 << endl; // "hogehoge" をプリント
  s1.ToUpper();          // s1 を大文字に
  cout << s1+s2 << endl; // "HOGEhoge" をプリント
  s1[1] = 'o';           // "HOGE" の "O" を小文字に
  cout << s1 << endl;    // "HoGE" をプリント
などは、ごくごく単純な使い方であるが、 すでに十分便利であることがわかる。 ${\tt TString}$ には、実に多くの機能があるので 各自研究されたい。

${\tt TString}$ は、${\tt TObject}$ を継承していないので、 そのままではオブジェクト I/O にはむかない。 ${\tt Streamer}$ が自動生成されないからである。 そのため、 ${\tt TObjString}$ がある。 これは、${\tt TString}$${\tt TObject}$ にするためのラッパーである。


  TObjString os("hogehoge");   // "hogehoge" という内容の TObjString を作成
  Char_t *data = os.GetName(); // "hogehoge" へのポインターをもらう
  TString s = os.GetString();  // "hogehoge" を TString としてもらう
  os.SetString("foobar");      // "hogehoge" を "foobar" に変更
  TString &sr  = os.String();  // TString への参照をもらう
のように使う。 ${\tt TString}$ への参照をもらっておけば、 後は ${\tt TString}$ でできることがいろいろできる。


next up previous contents
: コンテナクラス : 使ってみよう、便利なクラス : 使ってみよう、便利なクラス   目次
Keisuke Fujii 平成12年12月22日