Помогите с пунктуацией

Jhonson
Offline
Зарегистрирован: 28.02.2014

Добрый день! 

Есть код который отправляет email, мне нужно что бы в текст письма вставилось значение переменной. 

Строчка кода в которой создается письмо:

if (sendMail(smtpHost, smtpPort, smtpUser, smtpPass, mailTo, mailSubject2, F("Сигнал на входе D4\r\nВлажность " "\r\nТретья строка")))

необходимо, что бы после слова влажность вставилось значение float h

sadman41
Offline
Зарегистрирован: 19.10.2016

См. функцию sprintf_P()/snprintf_P()

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Она float не печатает. По крайней мере я так и не смог заставить. 

Jhonson
Offline
Зарегистрирован: 28.02.2014

Можете показать на примере int?

b707
Offline
Зарегистрирован: 26.05.2017

Jhonson пишет:

Можете показать на примере int?

в любом учебнике, в гугле смотрите, это стандартная функция языка

sadman41
Offline
Зарегистрирован: 19.10.2016

Ах, да. Все время забываю, что в ардуинах обрезанный printf.

    char buf[40],  long_str[16];
    double a = 12.3456;
    int b = 89;
    buf = dtostrf(a, 1, 4, long_str);

    sprintf(buf, "a: %s , b: %d", long_str, b);
    Serial.println(buf);

Так вот можно. Или взять два инта, в один сунуть целую часть, в другую - дробную, но помноженную на 10^n. Выводить как "%d.%d" - т.е. два int через точку.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DetSimen пишет:

Она float не печатает. По крайней мере я так и не смог заставить. 

Никто не смог. На нет и суда нет, как любит говорить г-н Сечин.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вам нужна вот эта функция. Примеры, гуглите сами, пожалуйста, их полно.