Pages: [1]   Go Down
Author Topic: strfind() en arduino  (Read 565 times)
0 Members and 1 Guest are viewing this topic.
Zaragoza
Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Necesito saber si una subcadena esta contenida dentro de una cadena, algo parecido al strfind() de toda la vida en ansi C, alguien sabe como puedo hacerlo en arduino?

Un saludo.
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yo empleo esto:

Siendo inString la cadena que contiene el texto a buscar, por ejemplo inString= "Esta cadena tiene eslabones"

Code:
if (inString.contains("eslabones"))

Quizas te valga.
Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Zaragoza
Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias Heke, en principio tengo declaradas las cadenas de caracteres como arrays de caracteres a la vieja usanza, estudiare cambiar el codigo para trabajar con objetos.
Logged

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

Hola,
a la vieja usanza que utilizo yo, strstr() es la función que buscas:
Code:
char cadena[] = "esta cadena tiene eslabones";

if(strstr(cadena, "eslab") != NULL)
{
  ; // ejecutar algo
}


Logged

Chile
Offline Offline
Edison Member
*
Karma: 35
Posts: 1251
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias Heke, en principio tengo declaradas las cadenas de caracteres como arrays de caracteres a la vieja usanza, estudiare cambiar el codigo para trabajar con objetos.

En las versiones nuevas ya se incluye un objeto String bastante poderoso.
Code:
String t = "hola";
bool contiene = t.indexOf("ol")!=-1;

Ese objeto te permite convertir números
Code:
String t = String(10);

Dumpearlo a un arreglo de chars:
Code:
char[] a = char[30];
t.toCharArray(a,30); // ahora a contendrá el texto de t, máximo 30 chars

Te recomiendo que revises:
http://arduino.cc/en/Reference/StringObject
Logged

My website: http://ried.cl

Pages: [1]   Go Up
Jump to: