C++ プログラミング

【初心者向け】C++で文字列操作|substr関数で部分文字列を簡単に取得する方法

 

C++で文字列の一部を取り出したいとき、あなたはどのように実装していますか?
本記事では、C++標準ライブラリで提供されている便利な関数「substr」を使って、部分文字列(サブストリング)を取得する方法を、具体的なコード例とともにわかりやすく解説します。

✅ C++で文字列操作をする基本:substr関数とは?

C++で文字列を操作する際に非常によく使われる関数が substr です。
この関数は、ある位置から一定の長さ分だけ文字列を取り出すときに使います。

🔍 基本構文

string substr (size_t pos = 0, size_t len = npos) const;
  • pos:開始位置(0から始まるインデックス)
  • len:取り出す長さ(省略すると最後まで)

🧑‍💻 実例コードで学ぶ:部分文字列の取得方法

以下のC++コードを例に、substrの実際の使い方を確認してみましょう。

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

int main() {
    int n;
    string s;
    int m;
    cin >> n >> s >> m;
    cout << s.substr(0, m) << endl;
}

📝 コードの動作説明

このコードは以下の手順で動作します:

  1. 最初に整数 n を入力(今回は使用しません)
  2. 次に文字列 s を入力
  3. 最後に整数 m を入力
  4. s の先頭から m 文字分だけ取り出して出力

🎯 実行例

入力:
10
programming
5

出力:
progr

このように、文字列 "programming" の先頭から5文字だけを抜き出して "progr" を出力しています。


🔧 substrの活用例と注意点

✅ よくある使用シーン

  • ユーザー名の頭3文字を表示
  • ファイル名の拡張子を取り出す
  • クレジットカード番号の下4桁だけを表示する

⚠ 注意点

  • ms.length() より大きいと、残り全部が出力されるだけなのでエラーにはなりません
  • インデックスが0始まりであることに注意

💡 応用:文字列を切り出して何ができる?

部分文字列を使って、例えば以下のような処理も簡単にできます:

string email = "user@example.com";
string domain = email.substr(email.find('@') + 1);
cout << domain;  // 出力: example.com

このように、文字列処理はWeb開発、ファイル解析、システム開発などあらゆる場面で必要になります。



✅ まとめ:C++のsubstrで文字列操作はカンタン!

C++の標準ライブラリには、初心者にも扱いやすい文字列関数が豊富に用意されています。
今回紹介した substr を覚えておくだけでも、日常的なプログラムで大いに役立ちます。


📈 キーワード

  • C++ 文字列操作 方法
  • substr C++ 使い方
  • C++ 部分文字列 取得
  • C++ string 関数 例
  • C++ 文字列の切り出し

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

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