El Arduino admite dos tipos de cadenas:
- Arrays de caracteres de estilo C, a los que la documentación de Arduino se refiere como strings (minúsculas 's))
- Objetos de cadena, a los que la documentación de Arduino se refiere como Cadenas (mayúscula) S)
El último es similar a std :: string de la biblioteca estándar de C ++ pero ligeramente diferente. Es una implementación específica de Arduino incluida en la biblioteca central de Arduino. Arduino no usa la biblioteca estándar de C ++ ya que aumentaría demasiado el tamaño de su programa.
Probablemente encontrarás que la clase String de Arduino hace lo que necesitas. La diferencia más importante que tiene de std :: string es que no es compatible con los operadores nuevos o eliminados, pero en la mayoría de las situaciones esto es realmente bueno, lo nuevo y lo eliminado solo se usan para asignaciones de memoria dinámicas (basadas en el montón) que generalmente no tienen colóquelo en un microcontrolador de 8 bits con RAM muy limitada.
El hecho de que Arduino no admita operadores nuevos o eliminados no impide el uso de clases de C ++, constructores, etc. Simplemente significa que no puede crear y asignar memoria dinámicamente a ellos. Esta página muestra varios ejemplos de uso de los diversos contructores compatibles con la clase String de Arduino. De hecho, la mayoría de las bibliotecas de Arduino se implementan mediante clases, es solo que cuando se crean instancias de estas clases, se asignan en la pila o como variables globales, en lugar de asignarse dinámicamente con el nuevo operador.