2016-10-17 5 views
-1

Мне нужно удалить некоторые символы из строки. Когда я использовал стирание, он не работает, ошибка компиляции не уничтожает ни одного члена. Пожалуйста, помогите мне. Провал - это потому, что я пишу для Arduino UNO.Удалить символ из String C++/Arduino UNO

+0

Может быть, в Arduino они имеют разные функции. –

ответ

0

библиотек в Arduino настроены для того, чтобы фактор ограничения памяти целевого микроконтроллера. Например, Uno работает на устройстве mega328P Atmel (теперь Microchip), которое имеет только флэш-память 32 КБ.

+0

Как использовать функцию удаления? –

0

Расширение на то, что предложил KIIV, вы могли бы сделать что-то вроде этого:

void setup() { 
    // put your setup code here, to run once: 
    Serial.begin(9600); 
} 

void loop() { 
    // put your main code here, to run repeatedly: 
    String words = "This is a sentence."; //reassign same string at the start of loop. 
    delay(1000); 
    Serial.println(words); 
    char c; 
    char no = ' '; //character I want removed. 

    for (int i=0; i<words.length()-1;++i){ 
     c = words.charAt(i); 
     if(c==no){ 
      words.remove(i, 1); 
     } 
    } 
    Serial.println(words); 
    delay(5000);//5 second delay, for demo purposes. 
} 
+0

Просто имейте в виду, что удаление с помощью одного параметра также удаляет остальную строку. Если вы хотите удалить только один символ, вы должны использовать вариант с двумя параметрами. И он может быть проиндексирован от 1, а не от 0; – KIIV

+0

@KIIV Спасибо! Исправлено – NonCreature0714

+0

@KIIV Как вы узнаете, индексируется ли оно от '1', а не' 0'? – NonCreature0714

Смежные вопросы