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/11 04:44]
kota [Form]
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* を返している。
  
  
ライン 42: ライン 43:
  
 ==== 基本的な使い方 ==== ==== 基本的な使い方 ====
 +  * 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など)をいくつも生成したい場合   * 同じもの(TH1Dなど)をいくつも生成したい場合
   * 同じ名前で生成するとダメ   * 同じ名前で生成するとダメ
 <code c_mac> <code c_mac>
- TH1D *hist[10];                              //​先に10個のヒストグラムを確保 + 
- for (Int_t i = 0 ; i < 10 ; i++){+ 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でそれぞれの名前のヒストグラムを割り当てる      ​hist[i] = new TH1D(Form("​hist%d",​i+1)); ​ //​newでそれぞれの名前のヒストグラムを割り当てる
     }  ​     }  ​
ライン 59: ライン 84:
  
 <code c_mac> <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 += "​hage"; ​ //​strの最後に”huge”を足すー>str = hogehage
  
ja/root/tstring.1397191442.txt.gz · 最終更新: 2014/04/11 04:44 by kota