Алгоритм разделяющий значение переменой char на слова и записывающий в массив.

Тема в разделе "Arduino & Shields", создана пользователем sanekfps, 5 янв 2017.

  1. sanekfps

    sanekfps Нерд

    http://cpp.com.ru/kr_cbook/ch5kr.html
    Из это я понил что указатель указывает на переменную. Тем самым позволяет подстроится под работу.
     
  2. Unixon

    Unixon Оракул Модератор

    Указатель содержится в переменной word и указывает на строку.
     
  3. sanekfps

    sanekfps Нерд

    То есть они указывают на строку с которой они работают. Но я немагу понять почему при переносе в цикл он выдаёт белеберду а не то что надо.
     
  4. Unixon

    Unixon Оракул Модератор

    Как полностью выглядит тестируемый код?
     
  5. sanekfps

    sanekfps Нерд

    char* message[20];
    int i = 0;
    void setup() {
    Serial.begin(9600);
    }
    void loop() {
    char* str = "w a1 ad,a2.ag ah";
    char* delim = " ,.";
    char* word = strtok (str, delim);
    while (word != NULL) {
    word = strtok (NULL, delim);
    message=word;
    Serial.println(i);
    Serial.println(message);
    i++;
    }
    }
     
  6. Unixon

    Unixon Оракул Модератор

    И что он выводит?

    p.s. используйте тэг [ code ] при вставке скетчей.
     
  7. sanekfps

    sanekfps Нерд

  8. sanekfps

    sanekfps Нерд

    На другом компараторе другое.
     
  9. sanekfps

    sanekfps Нерд

    Но всё ровно не правильно. Первые символы перед al.
     
  10. rkit

    rkit Гуру

    Порядок strtok и сравнения результата поменяли местами, из-за этого ардуино крашится. Смотрите мой пример.
     
  11. sanekfps

    sanekfps Нерд

    Так вот в чем проблема! Спасибо добрый человек.:)
     
  12. sanekfps

    sanekfps Нерд

    Извените. Не могли бы вы мне сказать какой командой можно убрать последний символ в char?