C++で文字列の最後から最後の文字を削除します
この投稿では、C++で文字列の最後から最後の文字を削除する方法について説明します。
1.使用する pop_back()
関数
推奨されるアプローチは、 pop_back()
文字列の最後の文字を消去するためにC++11で導入された関数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> #include <string> int main() { std::string s = "C,C++,Java,"; if (!s.empty()) { s.pop_back(); } std::cout << s; return 0; } |
出力:
C,C++,Java
2.使用する resize()
関数
文字列クラスは、 resize()
文字列のサイズを特定の長さに変更するために使用できる関数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> #include <string> int main() { std::string s = "C,C++,Java,"; if (!s.empty()) { s.resize(s.size() - 1); } std::cout << s; return 0; } |
出力:
C,C++,Java
3.使用する erase()
関数
別の効率的な解決策は、 erase()
文字列クラスの関数。 2つのバリエーションがあります。次のいずれかを実行できます。
1.イテレータを最後の文字まで取得し、 erase()
関数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> #include <string> int main() { std::string s = "C,C++,Java,"; if (!s.empty()) { s.erase(std::prev(s.end())); } std::cout << s; return 0; } |
出力:
C,C++,Java
2.最後の文字のインデックスを erase()
最後の文字を消去する関数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> #include <string> int main() { std::string s = "C,C++,Java,"; if (!s.empty()) { s.erase(s.size() - 1); } std::cout << s; return 0; } |
出力:
C,C++,Java
に電話することに注意してください substr()
文字列の関数は元の文字列を変更しませんが、新しい文字列を作成します。示されているように、これはまだ機能します ここ.
これで、C++の文字列の最後から最後の文字を削除できます。