serial.print не отображает массив
- Войдите на сайт для отправки комментариев
Сб, 18/01/2020 - 21:34
не получается вывести массив в serial
если изменить на myArray[1] или myArray тогда все ок.
такая конструкция не работает : myArray[i]
int i; String myString ="LOL"; void setup() { Serial.begin(9600); } void loop() { int myString_len = myString.length() + 1; char myArray[myString_len]; myString.toCharArray(myArray, myString_len); for ( i = 0; i < myString_len; i++ ); { // где то здесь ОШИБКА Serial.println(myArray[i]); delay(500); } }
genia1991, а вы книгу читать пробовали. Или вы думаете, что ради вас язык Си перепишут.
Вам чего надо - посимвольно вывести строку? Зачем весь онанизм с toCharArray и пр.? Всё гораздо проще:
genia1991, а вы книгу читать пробовали. Или вы думаете, что ради вас язык Си перепишут.
читаю но не могу понять почему так. вроде все правильно сделал.
похожий пример рабочий
не могу понять что делаю не так
Вам чего надо - посимвольно вывести строку? Зачем весь онанизм с toCharArray и пр.? Всё гораздо проще:
да спасибо. но я учусь и хотел бы перевести string в массив а потом вывести с массива в монитор :)
Квон, ты сейчас неправ. Почитай стандарт С++ - такая запись допустима. Вот, почитай: http://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html
да спасибо. но я учусь и хотел бы перевести string в массив а потом вывести с массива в монитор :)
Зачем, если String внутри себя хранит массив, и предоставляет вам методы для доступа к нему? Зачем лишние телодвижения? Если хотите научиться работать с массивами - работайте с массивами, без посредников в виде класса String - тогда каши в голове будет меньше, намного.
Не ошибку, а варнинг ;) Который просто говорит, что ты чего-то там устанавливаешь, но потом - нигде не используешь до выхода из области видимости. Вот тебе ишшо: http://www.compiler.su/massivy-peremennoj-dliny-v-c-plus-plus.php
Выше я апшипся - c С99 доступна фича сия.
спасибо всем. позже прочитаю комменты.
работает вот так. лишний символ в 14 строчки {
промучился целый час :)
точнее вот этот символ в 14 строке
Так вы заходите за последний символ строки. Сделайте в условии for i < myString_len-1 - и всё. Или в строке 9 уберите +1.
Так вы заходите за последний символ строки. Сделайте в условии for i < myString_len-1 - и всё. Или в строке 9 уберите +1.
спасибо. уже все отлично работает :)