Идея заключалась в том, чтобы создать код для сравнения имени, читаемого с serial.read, с предварительно обозначенным именем.запрос для пользователя 'compareTo' в charArrayBuffer, который относится к классу non-class 'char [9]'
Оба объявления - массивы символов, длина [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");
}
}
Ошибка получил:
ошибка: запрос члена 'CompareTo' в 'nameBuffer', который имеет тип неклассовую 'символ [9]
К сожалению об этом, я бы нашел строку сравнения руководство, включенную C++, но я учусь печатать на языке Си. Итак. оператор - инструмент в C++? Ваш ответ работал идеально слишком, спасибо – Ivan