C++ プログラミング

【C++入門】文字列から1文字を抜き取る方法とは?初心者向けにわかりやすく解説

C++でプログラミングを始めたばかりの方にとって、「文字列から1文字を取り出す方法」は非常に基本かつ重要なテクニックです。この記事では、簡単なサンプルコードとともに、その使い方をわかりやすく解説します。


この記事でわかること

  • C++で文字列を扱う基本
  • 文字列から任意の位置の1文字を取り出す方法
  • 実用的な使用例

サンプルコードの紹介

まずは、以下のサンプルコードをご覧ください。

#include <bits/stdc++.h>
using namespace std;

int main() {
    string s;
    cin >> s;
    cout << s[1] << endl;
}

コードの意味を解説

  • #include <bits/stdc++.h>
    標準ライブラリを一括で読み込むおまじないのようなもの。競技プログラミングではよく使われます。
  • string s;
    ユーザーからの入力を格納する文字列変数を定義します。
  • cin >> s;
    標準入力から文字列を受け取ります。
  • cout << s[1] << endl;
    入力された文字列の2文字目(インデックス1の文字)を出力します。C++では、インデックスは0から始まる点に注意してください。

実行例

入力: apple
出力: p

上記の場合、s[1]'p' を表しています。


文字列から特定の1文字を取得する方法

C++では、string型の変数に対してインデックス演算子 [] を使うことで、特定の位置の1文字を簡単に取得できます。

char c = s[3]; // 4文字目(インデックス3)を取得

このようにすると、cにはsの4番目の文字が格納されます。


応用:for文で1文字ずつ処理する

以下のように、ループで全ての文字にアクセスすることも可能です。

for (int i = 0; i < s.size(); i++) {
    cout << "s[" << i << "] = " << s[i] << endl;
}

よくあるエラーと注意点

  • インデックスが範囲外になると未定義動作になります!
    例えば、5文字しかない文字列に対してs[5]を指定するとエラーや予期しない動作が起こることがあります。
  • 空文字列に対してs[0]を使うと危険です。
    入力チェックをするようにしましょう。

まとめ

  • C++では、文字列から1文字を抜き出すにはインデックス演算子[]を使う
  • インデックスは0から始まる
  • 安全のため、文字数を超えたインデックスに注意すること

捕捉

よくあるパターン。C++で最後の文字を取得したい場合は?

char last = s[s.size() - 1];

文字を部分的に変更したい!

s[0] = 'A'; // 最初の文字を'A'に変更

C++での文字列操作はプログラムの基礎です。この記事が、あなたの学習の一助になれば幸いです!

-C++, プログラミング

Copyright© donguri.pyのblog , 2025 All Rights Reserved.