Extraer trozos de una cadena de texto en C

Iniciado por davidnew, 10 Abril 2012, 02:00 AM

0 Miembros y 1 Visitante están viendo este tema.

davidnew

ola amigos del elhacker.net soy nuevo en la programacion de C y trato de hacer un programa donde pueda extraer un trozo de una cadena de 2  caracteres por ejemplo "hola mundo la pasamos bueno" y la idea es quitar la palabra "la" y unir el espacio osea q quede asi "hola mundo pasamos bueno" y en otro texto que encuentre la primera cade <3 si alguien me puede ayudar gracias de antemano

Beakman

#1
Editado:

int main(){
char original[] = "hola me llamo Cristian.";
char parte[] = "me ";
char nueva[ 21 ];
int posicion = strlen( original ) - strlen( strstr( original, parte ) );

// copiar la primera parte
for( int a = 0; a < posicion; a++ )
nueva[ a ] = original[ a ];

// copiar la segunda parte
for( int a = posicion; a < strlen( original ); a++ )
nueva[ a ] = original[ a+3 ]; // 3 es el tamaño de la parte

nueva[ 20 ] = '\0';
printf( "%s", nueva );
return 0;
}

davidnew

ola CrisQC el codigo q m mandast esta en c++ y lo que tengo entendido es que en C no existe un string o corrigeme si estoy equivocado y el programa es en C gracias

Beakman

#3
Creí haber leído C++. Sino no lo hacía con strings. Ahora edito.
Listo, editado.

davidnew

#4
amigo CrisQC muchas gracias por el codigo me uyudast mucho funciona 100%

Beakman

Pero en ningún lugar se usó ninguna variable con el nombre string. Revisá que lo hayas copiado bien. Y además tenés que incluir la librería string.h.

Synth3tik0

Cita de: CrisQC en 10 Abril 2012, 02:37 AM
Creí haber leído C++. Sino no lo hacía con strings. Ahora edito.
Listo, editado.

Yo necesitaba el codigo en c++, no me los pasas tío por mp o aqui mismo? Saludos..
..........

Beakman

Por supuesto. Acá va de nuevo:
Código (cpp) [Seleccionar]

int main(){
string original = "hola me llamo Cristian.";
string parte = "me ";
string nueva = original.substr( 0, original.find( parte ) ) + original.substr( original.find( parte )+parte.size() );
cout << original << endl << nueva << endl;
return 0;
}


Saludos!

Synth3tik0

Cita de: CrisQC en 10 Abril 2012, 06:19 AM
Por supuesto. Acá va de nuevo:
Código (cpp) [Seleccionar]

int main(){
string original = "hola me llamo Cristian.";
string parte = "me ";
string nueva = original.substr( 0, original.find( parte ) ) + original.substr( original.find( parte )+parte.size() );
cout << original << endl << nueva << endl;
return 0;
}


Saludos!

Gracias
..........