Внутри моего основного цикла есть эта строка:
String string1;
У меня есть функция, которая будет принимать string1 в качестве параметра и использовать его для отправки этой строки в виде SMS.
sendSMS(string1);
Это функция sendSMS () (без параметров):
void sendSMS()
{ sms.beginSMS(remoteNumber);
sms.print(finalstr);
sms.endSMS();
lcd.setCursor(0, 0);
lcd.print("Message sent!");
delay(10000);
}
Мои вопросы:
- Как поместить параметр ввода строки в sendSMS?
- Нужно ли также использовать прототип функции для sendSMS ()? (чтобы он появлялся три раза, 1 в прототипе, 1 в объявлении и один в вызове). Или мне не нужно использовать прототип функции перед основным циклом ()?
programming
c++
user1584421
источник
источник
void sendSMS(String& thisIsAString)
или, что еще лучше, константной ссылки, если строковый аргумент не должен изменяться функцией:void sendSMS(const String& thisIsAString)
Я бы сказал, никогда больше не использовать String. Когда код станет больше и использование памяти станет критичным, вы попадете в тупик. Я знаю, что это удобнее, но попробуйте сделать массив символов. Что-то типа:
Я изменил функцию на bool. Это означает, что вы можете использовать его в операторе if, где бы вы хотели, чтобы он был завершен, прежде чем продолжить работу с кодом.
Вам нужно будет выделить память для массива самостоятельно; объявить это так:
Здесь я выделяю 32 байта для данных и один дополнительный байт для символа, который означает «конец строки» (это \ 0).
источник
Ты можешь измениться
void sendSMS()
в
void sendSMS(String myinputstring)
Вы можете использовать myinputstring в вашем коде.
источник