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;
}
📝 コードの動作説明
このコードは以下の手順で動作します:
- 最初に整数
nを入力(今回は使用しません) - 次に文字列
sを入力 - 最後に整数
mを入力 sの先頭からm文字分だけ取り出して出力
🎯 実行例
入力:
10
programming
5
出力:
progrこのように、文字列 "programming" の先頭から5文字だけを抜き出して "progr" を出力しています。
🔧 substrの活用例と注意点
✅ よくある使用シーン
- ユーザー名の頭3文字を表示
- ファイル名の拡張子を取り出す
- クレジットカード番号の下4桁だけを表示する
⚠ 注意点
mがs.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++ 文字列の切り出し