無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

文字列

C++の文字列はcharの配列です。

  • 「char str[] = "hoge";」で簡単に初期化可能です。
  • 文字列を引数として渡す場合、ポインタを指定して参照渡しとします。(配列なので当たり前といえば当たり前。)
  • 「std::cout <<」では、渡されたポインタからnull文字('\0')までを文字列とみなして表示します。(配列の長さではありません。)
    • このため文字列長+1の配列として、最後に"\0"を付加しておく必要があります。
    • 「char str[] = "hoge";」で初期化した場合、"\0"は自動で付加されます。
// 配列を受け取る関数。
void out( char str[] ) {
    std::cout << str << std::endl; 
}

int main() {
    
    // 文字列はcharの配列
    //char str[] = "hoge"; コレでもOK。この場合、'\0'は勝手に挿入される。
    char str[5];
    str[0] = 'h';
    str[1] = 'o';
    str[2] = 'g';
    str[3] = 'e';
    str[4] = '\0'; // '\0'で文字列の終わりとみなされる。 
    std::cout << str << std::endl; // hoge
    std::cout << sizeof str / sizeof str[0] << std::endl; //長さの取得 / 4 
    
    // 日本語
    char str2[] = "日本語";
    std::cout << str2 << std::endl; // 日本語
    std::cout << sizeof str2 / sizeof str2[0] << std::endl; //10 / 文字コードがUTF-8だからかな? 
    
    // 引数で渡す場合も配列と同じくポインタで渡す。
    out( str ); // hoge

    return 0;
}

実行結果です。

hoge
5
日本語
10
hoge