Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: tamyta_19 en 5 Mayo 2013, 06:55 am



Título: quitar tildes cadena caracteres en c
Publicado por: tamyta_19 en 5 Mayo 2013, 06:55 am
holas como podria quitar los tildes de una cadena de caracteres en c????...alguna idea??? porfis....cualquier ayuda me servira.........graxxxxx


Título: Re: quitar tildes cadena caracteres en c
Publicado por: SSantiago90 en 6 Mayo 2013, 15:24 pm
Podrias dar un poco mas de info para que se te pueda ayudar mejor

A grandes rasgos, supongo q tienes una variables string o char[], podrias usar un for para recorrer todos los caracteres de la cadena, y en cada recorrido usar un switch(<char i>) y si es una vocal con tilde cambiarla por una sin tilde :)


Título: Re: quitar tildes cadena caracteres en c
Publicado por: BlackM4ster en 6 Mayo 2013, 15:45 pm
Yo uso este:

AVISO, ESTE CODIGO ES .PHP:

Código
  1. function QuitarTildes($cadena){
  2. $no_permitidas= array ("á","é","í","ó","ú");
  3. $permitidas= array ("a","e","i","o","u");
  4. $texto = str_replace($no_permitidas, $permitidas ,$cadena);
  5. return $texto;
  6. }


Título: Re: quitar tildes cadena caracteres en c
Publicado por: leosansan en 6 Mayo 2013, 16:16 pm
Yo uso este:
Código
  1. .................................................

Muy buena idea ..... lástima que sea en PHP y no en C como quería el usuario, ¿lo quieres volver loco buscando "esas" funciones en C que no existen? :laugh:

Mejor encaminada iba la respuesta de SSantiago90 .

Saluditos!. ..... 
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)


Título: Re: quitar tildes cadena caracteres en c
Publicado por: BlackM4ster en 6 Mayo 2013, 18:33 pm
jajajaja perdon perdon es que habia leido mal jajajajaja  :silbar:


Título: Re: quitar tildes cadena caracteres en c
Publicado por: leosansan en 6 Mayo 2013, 19:07 pm

Para que no se diga que no ayudamos, ya ha pasado un tiempo prudencial. Es como la función del PHP pero hecha "a mano". La salida a la cadena que pongo es:


Código
  1. Leon esta aqui aun solo despues se fue
  2. Process returned 0 (0x0)   execution time

Código
  1. #include <stdio.h>
  2.    int main(){
  3.  
  4.    char cadena[]="León está aquí aún sólo después se fue";
  5.    char vocal_sin[]="aeiou",vocal_con[]="áéíóú";
  6.    int i,j;
  7.    for (i=0;cadena[i]!='\0';i++)
  8.        for (j=0;j<5;j++){
  9.            if (vocal_con[j]==cadena[i])
  10.                cadena[i]=vocal_sin[j];
  11.        }
  12.    printf ("%s",cadena);
  13.    return 0;
  14. }
  15.  

Saluditos! ....   (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)