da int a char

Ragazzi sono bloccato ho bisogno di una mano D:
Sto cercato di convertire queste stringe e int

int tmp=20;
int hum=30;
char pageName[] = "/input/post.json?json={Temperatura:";
char string2[] = sprintf(tmp);
char string3[] =",hum:";
char string4[] ="30" ;
char string5[] = "}&apikey=XXXXXXXXXXXXXXXXXXXX";

in una unico char[]

char pageName[] = "/input/post.json?json={Temperatura:TMP ANDRA QUI,hum:HUM ANDRA' QUI}&apikey=xxxxxxxxxxxxxxxxxxx";

Aiuto ragazzi non so come fare il char deve essere per forza del tipo char[]

vi allego in codice

void setup() {
Serial.begin(9600);
int tmp=20;
int hum=30;
char pageName[] = "/input/post.json?json={Temperatura:";
char string2[] = sprintf(tmp);
char string3[] =",hum:";
char string4[] ="30" ;
char string5[] = "}&apikey=xxxxxxxxxxxxxxxxxxxxxx";
strcat(pageName, string2);
strcat(pageName, string3);
strcat(pageName, string4);
strcat(pageName, string5);
Serial.print(pageName);
}

void loop() {
 // put your main code here, to run repeatedly:

}

Grazie in anticipo a tutti.

EDIT:
Ecco la soluzione a a questo problema spero che possa tornare utile a qualcuno:

int tmp=20;
int hum=30;
char pageName[256];
//sprintf(pageName,"/input/post.json?json={Temperatura:%d,hum:%d}&apikey=xxxxxxxxxxxxxxxxxxx",tmp,hum); lo sprintf non puo stare qui fuori


void setup() 
{
     Serial.begin(9600);
    sprintf(pageName,"/input/post.json?json=(Temperatura:%d,hum:%d}&apikey=xxxxxxxxxxxxxxxxxxx",tmp,hum); //OCCHIO!! questa stringa non puo stare fuori dalla funzione loop setup o dalle evenutali funzioni che creerete

}

void loop() {
      Serial.print(pageName);

}

sprintf(buffer,"%d",valore);

Da errore quando devo fare il strcat

devi studiarti le stringhe! o meglio i vettori di caratteri perchè hai molte lacune, concateni ma non hai lo spazio sufficiente!
si usano i tag code per inserire il codice.

void setup() 
{
    Serial.begin(9600);
    int tmp=20;
    int hum=30;

    char pageName[256];
    sprintf(pageName,"/input/post.json?json={Temperatura:%d,hum:%d}&apikey=xxxxxxxxxxxxxxxxxxx",tmp,hum};

    Serial.print(pageName);
}

Credo che funzioni - quindi ora pageName ha come valore la stringa dello sprintf?

si, fai una ricerca "c sprintf" così impari ad usarla.

Grazie mille mi hai risolto un problema enorme - per aggiungere altre variabili basta che modifico la stringa cosi?
sprintf(pageName,"/input/post.json?json={Temperatura:%d,hum:%d,Lght:%d,Wtr:%d}&apikey=c12c35dbfc3a1xxxxxx109842799e9a",tmp,hum,lght,wtr);

la famiglia printf è importante studiarla!
si sembra andare bene.

mxswat:
Ragazzi sono bloccato ho bisogno di una mano D:

Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare.
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.

Grazie a tutti per il supporto, va been nid69ita la prossima volta racchiudo il codice nel tag

mxswat:
Grazie a tutti per il supporto, va been nid69ita la prossima volta racchiudo il codice nel tag

Soprattutto se ci sono le parentesi quadre, il codice viene interpretato come attributo del testo.
Per favore modifica il primo post e metti il tag code, così rimane un thread più pulito. :wink:

Fatto :smiley:
nid69ita ti devo offire da bere un giorno :).