Stringの使い方
公開日:
更新日:
ここでは, Stringの基本的な使い方を説明します. 各説明項目は以下のとおりです.
- 使用例
- Splitについて
- GetLineについて
使用例
ここでは, 使用例として文字列結合を行いたいと思います.
#include "String.h" #include <iostream> using namespace std; int main() { String strA = "StrA"; cout << "strA: " << strA.CharArray() << "\n"; //*1 strA += "_Add"; cout << "strA: " << strA.CharArray() << "\n"; //*1 return 0; } /* 実行結果 strA: StrA strA: StrA_Add */
説明
*1
"strA.CharArray()"とすることによってString内部のchar配列の先頭アドレスにアクセスすることができます.
Splitについて
Split関数はあるゆる場面で役立つ関数です. ここでは区切り文字を","にして実際に文字列を区切っていきます.
#include "String.h" #include <iostream> using namespace std; int main() { String saveParamsStr = "hp,1,isDead,true,mp,-1,stage,,isComplete,false"; //区切り文字登録 List<String> separators; separators.Add(String(",")); //区切る List<String>saveParams= saveParamsStr.Split(separators); //結果 cout << "saveParamsStr: " << saveParamsStr.CharArray() << "\n"; cout << "---Split---\n"; for (int i = 0; i < saveParams.Count(); i+=2) { cout << saveParams[i].CharArray() << ": " << saveParams[i + 1].CharArray() <<"\n"; } return 0; } /* 実行結果 saveParamsStr: hp,1,isDead,true,mp,-1,stage,,isComplete,false ---Split--- hp: 1 isDead: true mp: -1 stage: isComplete: false */
GetLineについて
GetLineを用いることで, ストリームから文字列を取得することができます. キーボードからの取得とファイルからの取得の方法について説明します.
キーボードからの取得
#include "String.h" #include <iostream> using namespace std; int main() { cout << "input<< "; String input = String::GetLine(); cout << "\n"; cout << "input: " << input.CharArray() << "\n"; return 0; } /* 実行結果 input<< InputTest input: InputTest */
ファイルからの取得
Textファイルを用意します
ファイル名は"Text.txt"にします.
Line1 Line2 Line3 Line4
上のファイルを用いたサンプルプログラム
#include "String.h" #include <iostream> #include <stdlib.h> using namespace std; int main() { FILE *fp = fopen("Text.txt", "r"); cout << "GetLineTest\n"; while(!feof(fp)) { cout << String::GetLine(fp).CharArray()<<"\n"; } return 0; } /* 実行結果 GetLineTest Line1 Line2 Line3 Line4 */