Mechendo com String

Boa tarde pessoal, estou fazendo um programa para fechadura eletrônica, porém me deparei com o seguinte problema:

Estou utilizando um Teclado Matricial 4x4, e a senha deve conter 4 digitos, pode apagar e escrever até 4 digitos. Ao final da escrita, o programa le a senha e confere com à que há pra ver se ela é correta ou não. O problema é o seguinte, por exemplo a senha é 0000.
O cara escreve 01, e percebe o erro e quer apagar o 1, como faço pra apagar o 1 que fica armazenado na String "palavra" e deixar o 0?

void confere() {
if(palavra == "0000") {
lcd.clear();
lcd.home();
lcd.print("Senha Correta");
digitalWrite(PORTA, HIGH);
delay(10);
digitalWrite(LVERM, LOW);
digitalWrite(LVERD, HIGH);
delay(50);
digitalWrite(LVERD, LOW);
digitalWrite(LVERM, HIGH);
digitalWrite(PORTA, LOW);
}
if((palavra == "1111") || (menu = 1)) {
menu = 0;
lcd.clear();
lcd.home();
lcd.print("Menu Secreto:");
delay(100);
lcd.clear();
lcd.home();
lcd.print("1 - Mudar Senha");
lcd.setCursor(0,1);
lcd.print("2 - Porta Aberta Hj");
senhasecreta = 1;
while(senhasecreta = 1) {
char letecla = keypad.getKey();
delay(10);
if (letecla == '1') {
delay(2);
lcd.home();
lcd.clear();
lcd.print("Senha Antiga:");
conta = 1;
delay(10);
teste = 1;
while(teste = 1) {
while (conta == 1) {
char letecla = keypad.getKey();
delay(10);
palavra += letecla;
if(letecla != NO_KEY && conta == 1 && letecla != '#' && letecla != '') {
lcd.setCursor(0,1);
lcd.print("
");
conta = 2;
}
else if(letecla == '#') {
conta = 0;
menu = 1;
return confere();
}
}
while (conta == 2) {
char letecla = keypad.getKey();
delay(10);
palavra += letecla;
if(letecla != NO_KEY && conta == 2 && letecla != '#' && letecla != '') {
lcd.setCursor(1,1);
lcd.print("
");
conta = 3;
}
if(letecla == '#') {
conta = 0;
menu = 1;
return confere();
}
if(letecla == '*') {
palavra = ?????[/font]; //queria apagar a letra anterior escrita sem envolver a outra
lcd.setCursor(0,1);
lcd.print(" ");
conta = 1;
}
}

Um teco do programa

Vê o setCharAt() e length.

Depois é só trocar o char na posição length - 1. :slight_smile: