Dev - C++ - Consulta

 
Vista:

Consulta

Publicado por hector (8 intervenciones) el 03/10/2015 23:25:28
Hay alguna funcion que dandole un caracter, se lo saque a la palabre o a una frase???

por ejemplo

char x[100] = (programadores);
char y[3] = "(";

lafuncion (x,y);

y quede programaadores)

si existe cual seria la sintaxis??
o como se hace de alguna otra forma??

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Consulta

Publicado por agustin (522 intervenciones) el 04/10/2015 00:29:37
Usas un array auxiliar y en la cadena usas strchr para buscar el carácter deseado y usas su valor de retorno para copiar desde la posición 0 hasta el carácter localizado y le concatenas a partir del siguiente hasta el final y repites tantas veces como haga falta hasta no encontrar más coincidencias. Otro modo es usar un bucle y buscas ese carácter y si lo encuentras copias el siguiente carácter en la posición actual y así hasta el final. Algo asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
#include  <stdio.h>
#include  <string.h>
 
int main {
   char cadena="Hola mundo";
   char caracter=' ';
 
   for (int i=0;i <strlen(cadena);i++)
      if (cadena [i]==caracter)
         for (int x=i;x <=strlen (cadena);x++)
            cadena [x]=cadena [x+1];
   return 0;
}

Ese código quitaría el espacio.
Y este tambien:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include  <stdio.h>
#include  <string.h>
 
int main {
   char cadena="Hola mundo";
   char caracter=' ';
   char *pos;
 
   while ((pos=strchr (cadena,caracter))!=NULL){
       strncpy(pos,(pos+1),strlen(pos+1));
       cadena [strlen (cadena)-1]='\0';
   }
   return 0;
}

No están probados pero esa es la idea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consulta

Publicado por Consulta (8 intervenciones) el 04/10/2015 01:43:46
Gracias, anda impecable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar