は、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" をプリントなどは、ごくごく単純な使い方であるが、 すでに十分便利であることがわかる。 には、実に多くの機能があるので 各自研究されたい。
は、 を継承していないので、 そのままではオブジェクト I/O にはむかない。 が自動生成されないからである。 そのため、 がある。 これは、 を にするためのラッパーである。
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 への参照をもらうのように使う。 への参照をもらっておけば、 後は でできることがいろいろできる。