0
역순으로 문자열을 쓰고 싶습니다. 그리고 문자열을 0에서 문자열 길이로 반복하여 cin과 문자열을 얻습니다. 문제는 내가 잘못 입력 한 터키 문자를 가져 오는 것입니다. 또한 1 개의 터키어 문자 문자열의 길이가 2 (즉 ömür이 갖는 길이 6)문자열에서 터키어 문자 가져 오기
string text = "ömür";
for (int i = text.length() ; i >= 0; i--)
{
if(!isspace(text[i]) && text[i] != '\0')
{
cout<<text[i];
}
}
예상 출력에 의해 증가 = RUMO => 제가 무엇을 얻을 R = ?? m ??
'std :: wstring'을 사용해 보셨습니까? –
https://stackoverflow.com/a/55650/50902 – kmkaplan
UTF-8로 인코딩 된 유니 코드 문자열의 경우 '문자'는 인코딩 단위를 포함하고 문자는 아닙니다. 문자열의 역순을 출력하려면 다중''문자 인코딩 단위를 뒤집지 않아야합니다. 따라서 귀하의 논리는 인코딩 단위의 실행을 찾아야합니다. 좀 더 흥미로운 것을 만들기 위해 몇몇 글자체는 여러 유니 코드 코드 포인트로 표현됩니다. 당신의 코드는 유니 코드 문자들을 조합하는 그러한 시퀀스들을 처리해야한다. IBM은 이러한 작업을 수행 할 수있는 매우 훌륭한 라이브러리를 보유하고 있습니다 (kmkaplan의 설명 링크 참조). – Eljay