1/
функция sizeof(Mess) - выдаст размер записи о массиве
функция sizeof(Mess[0]) - выдаст размер записи об первом элементе.
Вопрос - как узнать собственную длину любого элемента массива ? Его длина присутствует - во втором байте двух-байтной записи об элементе, но как его прочитать ? Я в синтаксисе этих пойнтеров и звездочек - дуб бесперспективный ((((
С уважением к знатокам.
Char* mess[] = {"...", "...", ...};
- Ariadna-on-Line
- Это не хвост, это антенна
- Сообщения: 1482
- Зарегистрирован: Вс май 13, 2012 00:01:54
Char* mess[] = {"...", "...", ...};
Последний раз редактировалось Ariadna-on-Line Ср мар 19, 2025 19:01:36, всего редактировалось 1 раз.
- Реклама
Re: Char* mess[] = {"...", "...", ...};
1/
Используйте strlen(Mess[0])
2/
strcpy и strcat не подходят? Тогда memcpy.
Используйте strlen(Mess[0])
2/
strcpy и strcat не подходят? Тогда memcpy.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
- Ariadna-on-Line
- Это не хвост, это антенна
- Сообщения: 1482
- Зарегистрирован: Вс май 13, 2012 00:01:54
Re: Char* mess[] = {"...", "...", ...};
Спасибо что ответили. Нашел наконец сайт Гайвера с лекцией по этой теме. Читаю. Поэтому удалил второй вопрос. Но возможно задам еще вопросы. Спасибо.
- Ariadna-on-Line
- Это не хвост, это антенна
- Сообщения: 1482
- Зарегистрирован: Вс май 13, 2012 00:01:54
Re: Char* mess[] = {"...", "...", ...};
Всем Привет. Вот успешно работающий код. Он два раза вытягивает строки текста из ПРОГМЕМа, дописывает к ним всякие данные и получившуюся строку отправляет на вывод. В функции используется временнй char buf-ер. Возник вопрос :
1. Как не создавать буфер, а напрямую грузить из ПРОГМЕМА в строку. Сейчас это не получается - пишет о несоответствии типов данных.
С уважением.
const char TempMess[] PROGMEM = "Температура = ";
// функция строки часов + температуры (2)
void TCrun() {
String tape = "";
char buf_g[strlen_P(TimeMess) + 1]; // Выделим буфер достаточной длины С именем buf_g
strcpy_P(buf_g, TimeMess); // Копируем строку в буфер
tape += buf_g; // Отдаем буфер в работу
tape += now.hour();
tape += ':';
tape += now.minute();
tape += ':';
tape += now.second();
tape += " | ";
tape += now.day();
tape += '/';
tape += now.month();
tape += '/';
tape += now.year();
tape = utf8rus(tape);
Run();
------------------------------------------
tape = "";
buf_g[strlen_P(TempMess) + 1]; // Выделим буфер достаточной длины
strcpy_P(buf_g, TempMess); // Копируем строку в буфер
tape += buf_g; // Отдаем буфер в работу
tape += rtc.getTemperature();
tape += " C'";
tape = utf8rus(tape);
Run();
}
1. Как не создавать буфер, а напрямую грузить из ПРОГМЕМА в строку. Сейчас это не получается - пишет о несоответствии типов данных.
С уважением.
Спойлер
const char TimeMess[] PROGMEM = "Время(ч:м:с|д/м/г) - ";const char TempMess[] PROGMEM = "Температура = ";
// функция строки часов + температуры (2)
void TCrun() {
String tape = "";
char buf_g[strlen_P(TimeMess) + 1]; // Выделим буфер достаточной длины С именем buf_g
strcpy_P(buf_g, TimeMess); // Копируем строку в буфер
tape += buf_g; // Отдаем буфер в работу
tape += now.hour();
tape += ':';
tape += now.minute();
tape += ':';
tape += now.second();
tape += " | ";
tape += now.day();
tape += '/';
tape += now.month();
tape += '/';
tape += now.year();
tape = utf8rus(tape);
Run();
------------------------------------------
tape = "";
buf_g[strlen_P(TempMess) + 1]; // Выделим буфер достаточной длины
strcpy_P(buf_g, TempMess); // Копируем строку в буфер
tape += buf_g; // Отдаем буфер в работу
tape += rtc.getTemperature();
tape += " C'";
tape = utf8rus(tape);
Run();
}
Re: Char* mess[] = {"...", "...", ...};
Использовать строку как массив...
Собственно одна из позиций "референса" - string - char array

Собственно одна из позиций "референса" - string - char array
- Реклама

