아주 쌩 초보가 질문드립니다.
c++에서요,
String a1 = 우리나라;
위와 같이 문자열 변수 a1에우리나라라는 글자가 들어가 있다고 할 때,
마지막 문자가라자인지 또는 아니지를 판별하는 식을 만들고자 하는데 어떻게 코드를 짜는가요?
여러가지 방법이 있겠지만,
마지막 문자를 b1에 복사한 다음,
if (b1==라)
이렇게 판별하는 방법도 좋을 듯 한데, 포인터를 마지막 문자로 이동해서카피하는 방법을 몰라서질문드립니다.
또 더 좋은 방법이 있으면 좀 알려주세요... 꼭이요..
중독된 2025.10.20
c++ 표준 라이브러리는 c++ 을 사용하는 어떤 환경에서도 99퍼센트 사용가능합니다.
초코초코해 2025.10.20
substr 은 std::string 클래스의 매서드 입니다.
LO 2025.10.20
제가 사용한 std::string 은 c++ 표준 라이브러리입니다. #include string 을 추가하시면 사용할 수 있습니다.
흰두루 2025.10.20
수다님 감사합니다. 그런데 substr 명령은 c++에는 없는 것 같은데 아닌가요?
노을 2025.10.20
한글문제 제외하고 마지막 2byte 를 복사하는 방법은 이런식입니다.
std::string src = \hello\;
std::string dst = src.substr( src.size() - 2, 2 );// 마지막 위치에서 2byte 전 문자부터 2byte 만큼 문자를 자릅니다. 한글 문제는 cpp 의 경우 패싯(로케일)이라는 녀석가지고 처리할 수 있는디 지대로 할라믄 좀 복잡합니다.
채련 2025.10.20
찬님 답변감사합니다. 그런데 맨 마지막 2byte를 복사하거나 비교하는 방법을 어떻게 하느냐는 것이 제 질문의 요지입니다. 실제 코드를 좀 짜 주시면 안될까요?
미나래 2025.10.20
우리나라. 를 byte[]로 바꾼뒤에.. 뒤에서 2byte(EUC-kR)가 \라\인지 확인하고,
그것도 아니면 뒤에서 3byte(UTF-8)가 \라\인지 확인하면 되겠네요. 쩝..
문자열은 인코딩의 문제가 있어서, 인코딩을 먼저, 확정해 놓고 처리하면 편하겠네요.
은별 2025.10.20
ㅎㅎ 그런가요 ㅋㅋ 음~~ 어렵다 ㅡ_ ㅡ 은근히;; ㅜㅜ
설희 2025.10.20
꼼수인듯하지만.. 마지막 문자가 \라\ 인지 판별하신다면..
C++에서는 함수가 뭔지 잘 모르겠지만.. 자바로 하자면.. indexOf(\라\\n\) 0 이럼 되지 않을까용?;;
물고기자리 2025.10.20
한글이랑 영어일때 다를거 같은데... 한글인지 영어인지 판별하는게 우선일것같네요. 영어는 1바이트지만 한글은 2바이트라서 맨 끝에 \\n이 들어있으면 문자열 마지막이라고 알아내면 된느데 한글이면 2바이트를 뒤에서 읽어야 하고 영문이라면 1바이트만 읽어야하고... 이런식이 될것같습니다. c++로 프로그램 짜본지가 오래되서 정확히 기억이 안나지만 비슷할듯하네요