Pages: [1]   Go Down
Author Topic: ayuda con string  (Read 728 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
Arduino rocks | PandoraBox rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

hola.
a mi arduino le paso una serie de comandos por la web
los comandos son:
auto=ONy****
auto=OFFy****

donde los **** son 4 numeros q pueden variar

como puedo dividir esa cadena de texto para que me quede en dos partes
la primera auto=ON o auto=OFF
y la segunda y****
Logged

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

Entiendo que la 'y' es el separador.
Si la primera parte siempre tiene siemprte 7 caracteres,
char comando[15] ;
char primera[11];
char segunda[11];
char *p;
strcpy(comando, "auto=ONy1234");

// Si la primera parte siempre tiene 7 caracteres

// copiar desde la 'y'
strcpy(segunda, &comando[7]);

// cortar en la 'y'
comando[7] = '\0';
strcpy(primera, comando);

// si la longitud de la primera parte puede ser variable,
// buscar la 'y' y apuntarlo con un puntero
p = strchr(comando, 'y');
strcpy(segunda, p);
// cortar en 'y'
*p = '\0';
strcpy(primera, comando);

Seguro que hay otras formas.

Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
string comando[13]
string cadena1[4]
string cadena2[5]
int i=0
int j=0

recibir comando y meterlo en el array comando

mientras comando[i] != 'y'
  cadena1[i] = comando[i]
  i++

mientras comando[i] != 0
  cadena2[j]=comando[i]
  i++
  j++

« Last Edit: October 16, 2010, 03:35:10 am by chiva » Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
Arduino rocks | PandoraBox rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Chiva

no soy muy bueno con esto de las cadenas y los strings, pero según me parece tu código no me permite tener números con 0

que pasaría si yo paso el parámetro auto=ONy0230

quedaría que:
comando => auto=ONy0230
cadena1 => auto=ON
cadena2 => 23

es correcto lo que digo?, porque en ese caso no me serviría el código
« Last Edit: October 15, 2010, 11:20:19 pm by Maverik » Logged

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

Ese 0 equivale al carácter nulo fin de cadena, es lo mismo que '\0'
El carácter (número) cero habría que señalar como '0'
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
Arduino rocks | PandoraBox rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

OK lo voy a probar en estos días y les diré como me fue.
gracias
Logged

Pages: [1]   Go Up
Jump to: