String из массива...

Тема в разделе "Arduino & Shields", создана пользователем Mestniy, 20 окт 2015.

  1. Mestniy

    Mestniy Гуру

    Есть около 200 комманд, которые ардуино получает через софт в виде string. Вопрос: можно ли как-то упростить выражение, что-бы не прописываеть каждое стринг. Я пробовал химичить с массивами, но ничего не получалось.
    Функции приходят пимерно такие:"1.".........."100.".
    Заранее благодарю!
     
    Viquis нравится это.
  2. Megakoteyka

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

    А что мешает принимать символы в буфер и после накопления строки парсить ее в число? И никакой стринг не нужен.
     
  3. Mestniy

    Mestniy Гуру

    А как ее в число можно превратить, если оно не попрядку приходит, а в разноброс? Или я чето не так понял.
    Я темы буфер и массивы только начинаю грызть. Да меня еще туго доходит!
     
    Viquis нравится это.
  4. Megakoteyka

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

    char text[] = "100";
    int val = strtol(text, NULL, 10);
     
    Mestniy нравится это.
  5. Mestniy

    Mestniy Гуру

    Много что непонятно, но огромное спасибо, что откликнулись. Буду химичить!:cool:
     
    Viquis нравится это.
  6. Megakoteyka

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

    Если непонятно, гуглите справку по функции strtol, там ничего сложного нет.
     
    Mestniy нравится это.
  7. Mestniy

    Mestniy Гуру

    Понял спасибо еще раз!
     
    Viquis нравится это.
  8. Mestniy

    Mestniy Гуру

    Разобрался с этим. Возник вопрос с приравниванием массивов. Что-бы значение одного массива соответствовало значению другого массива! Например i[0] = k[0], i[1] = k[1] и т.д..
    Заранее благодарен!
     
    Viquis нравится это.
  9. Megakoteyka

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

    Либо в цикле сравнить все элементы, либо вызвать функцию memcmp, которая сделает то же самое.
    Кроме того, ответ на этот вопрос известен гуглу.
     
    Mestniy нравится это.
  10. Mestniy

    Mestniy Гуру

    Понял. Буду ковыряться!
     
    Viquis нравится это.