2012-06-05 3 views
1

string1==string2을 입력하여 두 문자열을 비교할 수 있습니까?두 문자열 비교 C++

void ex_file_licensing::compare_license(const std::string &reference, 
             const std::string &result) 
{ 
    if (reference == result) 
     cout << "It's the same" << endl; 
    else 
     cout << "It's diffrent" << endl; 
    return; 
} 

예인 경우이 코드는 올바르게 작동하거나 일부 수정해야합니다.

모두 감사합니다.

답변

7

문자열 동등성의 개념에 따라 테스트 할 항목에 따라 다릅니다. 내용이 바이트 대 바이트인지 여부를 확인하려면 예, 스트링이 동일한 지 테스트하는 것이 올바른 방법입니다.

+0

감사합니다. – Samsara

+0

+1. @Fanael - 문자열 평등의 다른 개념이 무엇인지, 그리고'=='이 그것들을 테스트하는지 여부에 대해 의견을 말할 수 있습니까? –

+0

@ Robᵩ : 예를 들어, 글리프 평등 (예 : '분음 기호가있는 라틴 소문자'및 '라틴 소문자 a'+ '결합 분음 기호'는 모두 같은 글리프를 나타내지 만 인코딩은 크게 다릅니다.) '=='는 당신이 직접 char_traits를 구현하지 않는다면 byte-to-byte 동등성만을 검사합니다. – Fanael

6

예. 예.

컴파일하고 실행하고 자신을 봅니다.

클래스 std::stringoperator==이 오버로드되어 작동 할 수 있습니다.

+0

도움을 주셔서 감사합니다. – Samsara

+0

작동하지 않습니다. \ xcc \ x88 (̈ + a)와 \ xc3 \ xa4 (ä)는 같은 글리프이지만'''=='''는 그것들이 다르다고 생각합니다. – kritzikratzi