Pages: [1]   Go Down
Author Topic: Problema al concatenar varios Strings  (Read 811 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Cordoba
Offline Offline
God Member
*****
Karma: 41
Posts: 717
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

El que pregunta aprende, el que responde aprende a responder.

Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 727
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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);

« Last Edit: July 28, 2013, 10:47:51 pm by curro92 » Logged

Anaco, Venezuela
Offline Offline
Jr. Member
**
Karma: 8
Posts: 88
Electronic Engineer
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Code:
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.
Logged

Pages: [1]   Go Up
Jump to: