вырезать символы из строки в C

0

У меня есть схема, которая принимает данные (массив конкретных символов) через bluetooth из моей программы Android.

теперь, что я хочу сделать, это: перепрограммировать мой микроконтроллер, я хочу фильтровать или извлекать ряд символов из массива, который получает мой микроконтроллер.

Мой андроид передает эти три вида массивов символов:

1. red#ILOVEYOU
2. blue#ILOVEYOULALALA
3. green#ILOVEDIANAROSECUSTODIO:)

Я хочу извлечь красный # или синий # или зеленый # и перенести его на другую переменную. мой телефон отправляет "#" в конце каждого цвета, потому что, я думаю, это облегчит извлечение.

char Comp(char* This){

    while(Serial.available() > 0) // Don't read unless
    // there you know there is data
    {
        if(index < 99){
            inChar = Serial.read(); // Read a character
            if(inChar == '#'){

            }
            inData[index] = inChar; // Store it
            index++; // Increment where to write next
            inData[index] = '\0'; // Null terminate the string

        }
    }

    if(strcmp(inData,This)  == 0){
        for(int i=0;i<19;i++){
            inData[i]=0;
        }
        index=0;
        return(0);

    }
    else{
        return(1);
    }
}

Это мой код в arduino. Понимаете, он получает один символ в определенное очень малое время, а затем добавляет его в переменную массива символов.

  • 1
    Ваш вопрос не очень понятен, и большинство ваших переменных не объявлены.
Теги:
arduino

1 ответ

0
Лучший ответ

Вы можете использовать функцию strtok() в c.

  • 0
    это было быстро! :) Спасибо! ~ Я опубликую свой код здесь через 30 минут. спасибо, спасибо, спасибо! ~

Ещё вопросы

Сообщество Overcoder
Наверх
Меню