Arduino strcmp 함수
이 튜토리얼에서는 Arduino의 strcmp()
함수를 사용하여 두 문자열을 비교하는 방법에 대해 설명합니다.
Arduino strcmp()
기능
strcmp()
함수는 Arduino의 두 문자열을 비교합니다. strcmp()
함수는 두 문자열에 있는 문자의 ASCII 값을 비교한 다음 문자의 ASCII 값에 따라 세 가지 유형의 출력 값을 반환합니다.
키보드의 문자는 a
문자의 ASCII 값이 65
인 것처럼 고유한 ASCII 값을 갖습니다. 다음은 strcmp()
함수의 기본 구문입니다.
output = strcmp(string1, string2);
위의 구문은 두 문자열에 있는 모든 문자가 동일한 경우 0
을 반환하고, 두 번째 문자열의 문자와 일치하지 않는 첫 번째 문자열의 문자가 더 낮은 ASCII 값을 갖는 경우 음수를 반환합니다. 두 번째 문자열에 있는 문자보다 크고 첫 번째 문자열의 일치하지 않는 문자가 두 번째 문자열의 문자보다 큰 ASCII 값을 가지고 있으면 양수를 반환합니다.
처음 두 문자의 ASCII 값 차이가 0이면 strcmp()
함수는 다음 문자로 이동하는 식으로 진행되며 모든 문자가 비교되면 0
도 반환됩니다. 두 문자열이 동일함을 나타냅니다.
두 문자의 ASCII 값이 0이 아니면 함수가 중지되고 현재 일치하지 않는 문자의 ASCII 값 차이를 반환합니다.
예를 들어, 두 개의 동일한 문자열을 정의하고 Arduino의 strcmp()
함수를 사용하여 비교합시다.
아래 코드를 참조하십시오.
int output;
void setup() {
char* string1 = "hello";
char* string2 = "hello";
output = strcmp(string1, string2);
Serial.begin(9600);
Serial.println(output);
}
void loop() {}
출력:
0
strcmp()
함수의 입력은 상수 문자열이어야 합니다. 위의 코드에서 우리는 strcmp()
함수의 출력을 보여주기 위해 Arduino의 직렬 모니터를 사용했습니다.
Serial.begin()
함수는 직렬 모니터를 초기화하는 데 사용되며 Serial.println()
함수는 직렬 모니터 창에 지정된 값을 인쇄합니다.
또한 if
문과 같은 조건문에서 strcmp()
함수의 출력을 사용하여 출력이 0인 경우와 같은 특정 작업을 수행할 수 있습니다. 직렬 모니터에 두 문자열이 동일한.
Arduino의 다른 기능을 사용하여 compareTo()
및 equals()
기능과 같은 두 문자열을 비교할 수도 있습니다. Arduino의 문자열 비교에 대한 자세한 내용은 이 링크를 확인하십시오.