Ver Mensaje Individual
  #10  
Antiguo 20-02-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola KroSaver.

Creo que la forma mas simple es la que te sugiere maeyanes en el segundo mensaje.

Ejemplo Delphi:
Código Delphi [-]
function EncontrarCadena(cad, sub: string): Integer;
begin
  cad:= LowerCase(cad);
  sub:= LowerCase(sub);
  Result:= Pos(sub, cad);
end;
Equivalente C++:
Código:
#include <ctype>
#include <iostream>

int EncontrarCadena(std::string sub, std::string cad)
{
  for(int i=0;cad[i];i++) cad[i] = tolower(cad[i]);
  for(int i=0;sub[i];i++) sub[i] = tolower(sub[i]);
  return cad.find(sub);
}
Equivalente C:
Código:
#include <string.h>
int EncontrarCadena(char *sub, char *cad)
{
  char *d;
  int i;
  for(i=0;cad[i];i++) cad[i] = tolower(cad[i]);
  for(i=0;sub[i];i++) sub[i] = tolower(sub[i]);
  d = strstr(cad, sub);
  if (d) return  d - cad; // Posición de cadena hallada
  return -1;
}
Con la salvedad que en C/C++ se referencia al primer caracter por el índice 0 (en Delphi es 1), por lo que las funciones devolverán el valor de la posición disminuido en uno.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita