Dentro do meu loop principal, há esta string:
String string1;
Eu tenho uma função que terá string1 como parâmetro e usá-lo para enviar essa string como SMS.
sendSMS(string1);
Esta é a função sendSMS () (sem parâmetros):
void sendSMS()
{ sms.beginSMS(remoteNumber);
sms.print(finalstr);
sms.endSMS();
lcd.setCursor(0, 0);
lcd.print("Message sent!");
delay(10000);
}
Minhas perguntas são:
- Como coloco o parâmetro de entrada da string no sendSMS?
- Também preciso usar um protótipo de função para sendSMS ()? (para que apareça três vezes, 1 no protótipo, 1 na declaração e uma na chamada). Ou não preciso usar o protótipo de função antes do loop principal ()?
programming
c++
user1584421
fonte
fonte
void sendSMS(String& thisIsAString)
ou melhor ainda, uma referência const, se o argumento da string não for modificado pela função:void sendSMS(const String& thisIsAString)
Eu diria para nunca usar String novamente. Quando o código aumentar e o uso de memória for crítico, você chegará a um beco sem saída. Eu sei que é mais conveniente, mas experimente arrays de char. Algo como:
Mudei a função para bool. Isso significa que você pode usá-lo dentro de uma instrução if, onde deseja que ela seja concluída antes de continuar com o seu código.
Você precisará alocar memória para a matriz; declare assim:
Aqui, aloco 32 bytes para dados e um byte adicional para o caractere que significa "fim da string" (é esse \ 0).
fonte
Você pode mudar
void sendSMS()
para
void sendSMS(String myinputstring)
você pode usar myinputstring no seu código.
fonte