Problema al concatenar varios Strings

Hola acabo de registrarme en el foto y aprovecho para saludar a toda la comunidad!

  1. String voltage="Temperatura del sensor: " +“jjjjjj”;

  2. Serial.println("Temperatura del sensor: " + “jjjjjj” );

En el primer caso tenemos un string y mediante el simbolo + concatenamos los Strings. Esto es algo elemental que siempre se ha podido hacer en C como en JAVA u otros lenguajes. Teniendo en cuenta que arduino proviene de C no entiendo este error.

Si no concateno no pasa nada. Si concateno con el valor de una variable no pasa nada, mientras que al concatenar dos String no deja ni compilar.

En el segundo caso vemos lo mismo solo que dentro del println.

Esto viene al segundo tutorial del manual de iniciación para arduino que compré. En dicho manual hacen varias llamadas a Serial.print pero yo como se programar quería englobar en una sola orden varios mensajes seguidos de valores de variables de esta manera:

Serial.println("Temperatura del sensor: " +temperatura + "voltaje: " +voltaje );

Muchas gracias

Nose en java, pero en c no se contateno jamás con más, se usa strcat. Revisa la documentación

Hola, El objeto String pertenece a C++, no es C

En C, si tienes una cadena con suficiente espacio (pare el texto + null final), tendrías que hacer, como te ha dicho maxid

char voltage[33]; strcpy(voltage, "Temperatura del sensor: "); strcat(voltage, "jjjjjj");

En C también puedes usar esta otra forma

sprintf(voltage, "%s%s", cadena1, cadena2);

Hola,

El objeto String si existe en Arduino, el problema en 1) es que no puedes usar el operador + sobre puras constante, pero si de un String + una constante.

String voltage="Temperatura del sensor: ";
voltage += "jjjjjj";
//voltage = voltage +"jjjjjj"; //Codigo Equivalente a la línea anterior

En el caso 2) igual si usas un obtejo String en lugar de puras constantes tambien funciona.

Saludos.