[C++]スラスラわかるC++ stringをインクルードすればほかの言語並みに文字列は扱えるようにも見える。(print無いしウソ)

list5_3.cpp

#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;

void printStr(string a){
   cout << a << endl;
};

int main() {
  // 文字列オブジェクト
  string s1, s2, s3;

  // 文字列オブジェクトに文字列を格納する
  s1 = "apple";
  s2 = "banana";

  // 文字列を比較する
  if (s1 > s2) {
    cout << "大きい。" << endl;
  }
  else if (s1 < s2) {
    cout << "小さい。" << endl;
  }
  else {
    cout << "等しい。" << endl;
  }

  // 文字列を連結する
  s3 = s1 + s2;
  cout << s3 << endl;

  //printf  ではこう使いにくい。
  printf("%s\n",s3.c_str());
  //printf  ではこう使いやすい。
  printStr(s3);

  // 長さを求める
  cout << s3.length() << endl;

  // 5番目から3文字の部分文字列を取り出す
  cout << s3.substr(5, 3) << endl;

  // 5文字目だけを取り出す
  cout << s3[5] << endl;

  // "na" という文字列を見つける
  cout << s3.find("na") << endl;
  
  // 文字列を空にする
  s3.clear();

  // 文字列が空であることを確認する
  if (s3.empty()) {
    cout << "空です。" << endl;
  }
  else {
    cout << "空ではありません。" << endl;
  }

  return 0;
}

cd_samples5_3.cmd


C:\samples\chapter05>cd C:\samples\chapter05\

C:\samples\chapter05>g++ -o list5_3.exe list5_3.cpp

C:\samples\chapter05>list5_3.exe
小さい。
applebanana
applebanana
applebanana
11
ban
b
7
空です。

C:\samples\chapter05>cmd /k
C:\samples\chapter05>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です