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()
기능
string 클래스는 또한 다음을 제공합니다. 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()
문자열 클래스의 기능 두 가지 변형이 있습니다. 다음 중 하나를 수행할 수 있습니다.
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++에서 문자열 끝에서 마지막 문자를 제거하는 것입니다.