Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
ja:root:tstring [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:root:tstring

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ja:root:tstring [2014/04/10 23:56]
kota [TString型の変数に文字を入れる]
ja:root:tstring [2018/02/06 07:21] (現在)
kota [基本的な使い方]
ライン 6: ライン 6:
 ===== TString型の変数に文字を入れる ===== ===== TString型の変数に文字を入れる =====
  
 +  * 初期化
   * やり方色々   * やり方色々
 <code c_mac> <code c_mac>
-TString str("​hoge"​); ​ //​ありがち+TString str("​hoge"​);​
  
-TString str = "​hoge"; ​//​こちらもありがち+TString str = "​hoge";​
  
 TString str;          //​まず宣言してから TString str;          //​まず宣言してから
ライン 28: ライン 29:
  
  
 +----
  
   * 文字列を使うときは以下のようにする。   * 文字列を使うときは以下のようにする。
ライン 35: ライン 36:
 cout << str.Data() << endl; cout << str.Data() << endl;
 </​code>​ </​code>​
-  * 上の2つの出力は同じ(hoge)。Data関数の意味?よくわからん+  * 上の2つの出力は同じ(hoge)。TString::Data()は Char_t* を返している。
  
  
ライン 41: ライン 42:
 ===== Form ===== ===== Form =====
  
 +==== 基本的な使い方 ====
 +  * std::string 的なもの
  
 +<code c_mac>
 + cout << Form("​hoge%d.root",​1) << endl;// 第一引数に " " で囲んだ文字列、第二引数に %d などに入る数字などがくる
 +                                       // hoge1.root と出力される
  
 + cout << Form("​hoge%02d.root",​1) << ","​ << Form("​hoge%03d.root",​1) << endl;
 +                                       //​フォーマット指定子のリーディングゼロの機能(0詰め)を使うと、
 +                                       //​hoge01.root , hoge001.root と出力される
 +</​code>​
 +
 +  * printf() とかと同じ感じ
 +    * フォーマット指定子
 +      * %d  : int , short
 +      * %f  : float 
 +      * %lf : double
 +      * %c  : char  (1文字)
 +      * %s  : char* , TString (文字列)
 +      * %lld: Long64_t
  
 ---- ----
  
 +==== LOOPで生成 ====
  
-===== そ他関数色々 =====+  * 同じも(TH1Dなど)をいくつも生成したい場合 
 +  * 同じ名前で生成するとダメ 
 +<code c_mac>
  
 + const Int_t Nhist = 10; //const がないと次の行でエラーがでる
 + TH1D *hist[Nhist]; ​                             //​先に10個のヒストグラムを確保
 + for (Int_t i = 0 ; i < Nhist ; i++){
 +     ​hist[i] = new TH1D(Form("​hist%d",​i+1)); ​ //​newでそれぞれの名前のヒストグラムを割り当てる
 +    }  ​
 +</​code>​
  
 +----
 +
 +
 +===== その他使い方、関数など色々 =====
 +
 +<code c_mac>
 +
 +TString s1 = "​hoge";​
 +TString s2 = "​hoge";​
 +s1 += s2;    //​s1の後ろにs2を加えるー> s1 = hogehoge
 +s1 += "​hoge"​ //​s1の後ろに hoge を加えるー> s1 = hogehogehoge
 +
 +
 +
 +str += "​hage"; ​ //​strの最後に”huge”を足すー>str = hogehage
 +
 +str[5] = '​u'; ​  //​5番目の文字をuに変えるー>str = hogehuge
 +                // ' ' で囲まなくてはならない。"​ " で囲むとおかしな結果になる。<ー何故?
 +
 +
 +str.First("​g"​);​ //​最初にでてきた ” ” で指定された文字の場所(配列番号)を返す。今回の場合、 2 を返す。
 +                //​文字でなく文字列を指定した場合、その先頭の文字の番号を返す
 +                    ​
 +str.Insert(str.First("​g"​),"​u"​);//​最初にでてきた”g”の直前に”u”が挿入されるー>str = hougehuge
 +
 +str.ReplaceAll("​houge","​hoge"​);//"​hougehuge"​を"​hoge"​に置き換えるー>str = hogehuge
 +
 +str.ToUpper(); ​ //​すべて大文字にー>str = HOGEHUGE
 +
 +str.ToLower(); ​ //​すべて小文字にー>str = hogehuge
 +
 +</​code>​
  
  
 ---- ----
  
ja/root/tstring.1397174202.txt.gz · 最終更新: 2014/04/10 23:56 by kota