아이디어는 serial.read로 읽은 이름을 미리 만들어진 이름과 비교하는 코드를 작성하는 것이 었습니다.클래스 'char [9]'가 아닌 charArrayBuffer의 'compareTo'멤버에 대한 요청
두 선언 모두 char 배열, 길이 [9]이므로 문제가 발생하는 이유를 알 수 없습니다.
코드 :
char name1[9] = "Jesper";
char nameBuffer[9];
void setup()
{
Serial.begin(9600);
}
void loop()
{
int i = 0;
nameBuffer[0] = 0;
while(Serial.available() == 0)
{
// wait for data to be send
}
while(Serial.available() > 0)
{
int inByte = Serial.read();
delay(50);
nameBuffer[i] = char(inByte);
i++;
}
Serial.print("Searching for: ");
Serial.println(nameBuffer);
if (nameBuffer.compareTo(name1) < 0)
{
Serial.println("Did you mean to write: \"Jesper\"");
}
else
{
Serial.println("Jesper found");
}
}
오류 받았다 :
오류 : 회원 요청 비 클래스 타입 인 'nameBuffer'에서 '은 compareTo', '숯 [9]
죄송 비교를 위해, 나는 C++를 포함하는 문자열 비교 가이드를 발견했습니다 수도 있지만, 나는 언어 c를 입력 할 배우는 중이에요. 그래서. 연산자는 C++의 도구입니까 ?? strncmp 0 <(nameBuffer을 nameBuffer를 sizeof, NAME1) : 내가 있도록 nameBuffer SIZEOF 인수를 추가하는 경우 (STRCMP (nameBuffer, NAME1가) <0) 환호를 완벽하게 – Ivan