[C/C++] 문자, 문자열 간 비교 (==, strcmp)

gogori6565·2022년 7월 20일
0

문자와 문자열

'a' : 문자 a , 시스템 내부적으로 아스키번호로 변환
"a" : 문자열 a , a 뒤에 널(\n) 문자가 있음


문자 간 비교

char ch = 'a';
if(ch =='a')
	cout<<"같음";

위에서 언급했듯 'a'"a" 는 다르다.
그러므로, if(ch=="a")로 비교하면 오류가 뜨니까 유의하자.


char형 문자열 간 비교

int strcmp(const char*, const char*);

char c_str1[10] = "abc";
char c_str2[10] = "abc";

strcmp(c_str1, c_str2);

const char* 이기 때문에 string형 변수는 매개변수❌
string 은 그냥 if(str1 == str2)로 비교해..

strcmp

: char형 문자열 간 비교 함수

  • 정의 : strcmp(const char* c_str1, const char* c_str2) (const char* 임에 유의하자)
  • 리턴값 : 같으면 0, 다르면 사전적 순서로 str1이 앞이면 -1, 뒤이면 1 반환
  • 헤더파일 : <string.h> - C언어, <cstring> - C++

strncmp

: char형 문자열 간 비교 함수에 비교할 문자열 길이를 지정할 수 있다.

  • 정의 : strcmp(const char* str1, const char* str2, n)
    n : 비교할 문자열 길이, n개의 문자까지 문자열을 비교한다.
  • 리턴값 , 헤더파일 은 위와 같다.
profile
p(´∇`)q

0개의 댓글