C++ 03 : 문자열 연산과 문자열 비교

728x90

C++ 03 : 문자열 연산과 문자열 비교

 

1. 문자열 연산

 

자바에서는 숫자 + 문자열 연산이 가능하나, C++에서는 문자(열)끼리의 + 연산만 가능하다.

 

#include <iostream>

using namespace std;

int main() {
    string s1("abc");    // string 헤더파일 대부분 내용이 iosteam에 포함되므로 string헤더파일을 굳이 선언하지 않아도 됨
    string s2("def");
    cout << s1 + s2 << endl;;
    char a = 'w';
    cout << a + s2;
}
abcdef
wdef

 

 

2. 문자열 비교

 

1 : C-스트링을 사용하는 경우.

c언어는 true, false로 비교할 수 없기 때문에 1과 0으로 조건문을 판단한다.

c++은 true/false, 1/0의 방법 모두 사용할 수 있다.

 

만약 c++에서 두 문자열의 일치 여부를 C-스트링의 방법으로 판단하려면

if(strcmp(문자열1, 문자열2) == 0)과 같은 방법을 사용해야 한다.

#include <iostream>
#include <cstring>
using namespace std;

int main() {
    char s1[5];    // string 헤더 파일을 사용하지 않고 문자열을 다루는 경우
    char s2[5];
    cout << "s1 입력 : ";
    cin >> s1;
    cout << "s2 입력 : ";
    cin >> s2;
    
    if( strcmp(s1, s2) == 0 )
        cout << "일치";
    else
        cout << "불일치";

}

 

2 : string 클래스를 사용하는 경우

비교 연산자를 사용해서 일치 여부를 판단할 수 있다.

#include <iostream>
#include <string>
using namespace std;

int main() {
    string s1, s2;
    cout << "s1 입력 : ";
    cin >> s1;
    cout << "s2 입력 : ";
    cin >> s2;
    
    if(s1 == s2 )
        cout << "일치";
    else
        cout << "불일치";

}

 

728x90