Использование char / strings в выражении F - PullRequest
0 голосов
/ 28 апреля 2020

Я новичок в программировании. Я использую Arduino для отправки данных на мой компьютер (Visual Studio C ++), и я хочу использовать данные в операторе if.

Когда я запускаю код, я вижу данные, поступающие на мой P C , Но когда я пытаюсь использовать данные в моем операторе if, это не работает.

Я пытался преобразовать данные в символ, строку и символ * Я пытаюсь отправить (например) букву "а"

Можете ли вы, ребята, помочь мне?

    while (true) {

       std::string test;
       char* sensor = const_cast<char*>(test.c_str());


       arduino.readSerialPort(sensor, MAX_DATA_LENGTH);

       std::string value = sensor; 
        cout << value;


        if (value == "a") {
            cout << "if is gemaakt";
        }
}

1 Ответ

0 голосов
/ 28 апреля 2020

Если вы хотите проверить наличие одного символа в начале, вы должны использовать strncmp:

 if (strncmp(value,"a",1) == 0) { // 0 the first char is an a

Команда strncmp имеет следующий синтаксис

  strncmp(stringToCheck, stringToMatch, numberOfCharsMustMatch) .... Result 0 = match
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...