No se si he posteado bien ya que no parece haber un sitio de dudas que sería lo normal de un foro, pero bueno, espero estar haciendo lo correcto.
Os comento mi problema, tengo que llamar a una función y pasarle dos cadenas, la cual, una esta compuesta por diferentes variables. Me explico. Tengo una función llamada Qdata que realiza una serie de cosas previamente insertandole los valores que requiere la función:
Qdata("AT+CPIN=2692","SMS Ready");
Aquí podemos ver las dos variables que le introduzco a la función. Bien, AT+CPIN=2692 se lo introduzco todo junto, pero realmente lo que quiero hacer es tener una variable, por ejemplo int A=2692 e introducir la frase en función de esta variable..... algo asi:
Qdata("AT+CPIN=A","SMS Ready");
Obviamente esto no funciona, la cuestión es que necesito hacer esta composición y no se como hacerlo.
Espero que me podaís echar una mano. Muchas gracias
char buffer[13]; // Make this whatever size is needed. Allow one extra element for terminating nul character.
int A = 2765;
sprintf_P(buffer, PSTR("at+cpin=%d"), A);
Qdata(buffer, "ok");
Te recomiendo leas las normas del foro y uses tags para postear códigos.
Ahora edita los dos posteos porque cada mención de lineas de código debe ir asi
Qdata(buffer, "ok");
no asi
Qdata(buffer, "ok");
Para ello, vas a More, luego Modify y ya puedes seleccionar cada línea y usar el tag de código que es </>
Respuesta: veo dos maneras
1.
void Qdata(String str1, String str2) {
// lo que corresponda a Qdata
}
- otra manera sería
void Qdata(char str1[], char str2[]) {
// lo que corresponda a Qdata
}
Sin embargo cada alternativa requiere manejo diferente.
char buffer[13]; // Make this whatever size is needed. Allow one extra element for terminating nul character.
int A = 2765;
sprintf(buffer, "at+cpin=%d", A);
Qdata(buffer, "ok");
Así si vas a tratar con "strings al estilo de C".
int A = 2765;
Qdata(String("at+cpin=" + A).c_str(), "ok");
O así si lo quieres "compactar" un poco más.
Seguramente tu función solo recibe "array" de char, de ahí que se llame a c_str al final del primer parámetro.