#include <iostream>
#include <vector>
#include <string>
#include <cstring>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
string x = "mate";
char y[5] = "mate";
if (x == "mate") //true
{
cout << x;
}
if (y == "mate") //false
{
cout << y;
}
if (strcmp(y, "mate") == true) //strcmp가 같기때문에 false가 되어서 실행안됨
{
cout << "Tstrcmp";
}
else if (strcmp(y, "mate") == false) //false라서 실행
{
cout << "Fstrcmp";
}
}
문자열을 char로 배열로 갖고있다면 직접적인 비교로 하게되면 값이 같아도 false이다.
이럴 때는 strcmp를 사용하여 false가 나온다면 값이 같은 것이다.
cstring을 선언해야 사용가능하다.
'C++ > Basic' 카테고리의 다른 글
루프의 순서도 (0) | 2021.04.20 |
---|---|
Range기반 for루프 (0) | 2021.04.13 |
포인터의 증감연산 (0) | 2021.03.22 |
안 될 것 같은데 되는 문법 (2) | 2021.03.22 |
연결리스트와 배열의 특징 (0) | 2021.03.12 |