C/Visual C - cadenas de caracteres

 
Vista:

cadenas de caracteres

Publicado por fran (8 intervenciones) el 20/02/2001 17:55:58
En un string de texto,como podria coger los caracteres que me interesen y meterlos en otra variable?por ejemplo,coger los cinco ultimos caracteres y guardarlos en otra variable.
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

RE:cadenas de caracteres

Publicado por CaFcO (40 intervenciones) el 21/02/2001 07:14:52
Hay varias formas de poder obtener un determinado numero de caracteres, desde el hecho de recorrer la cadena como un array hasta obtener la posicion exacta de una letra a partir del cual quieres empezar a buscar.

Bien si es en forma de array lo que tienes que hacer es primero obtener el tamaño de la cadena con la funcion strlen, la cual puedes obtener mas informacion en la ayuda, y pormedio de un bucle recorrer y copiar caracter por caracter del array, logico, sin pasarte del tamaño del array.

otra es la de obtener la posicion de la letra que buscas, y a partir de ahi empezar a copiar hasta eltotal de letras en el array, la funcion para obtener la posicion no la recuerdo pero la puedes buscar en la ayuda.

suerte
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

RE:cadenas de caracteres

Publicado por Germán B. (143 intervenciones) el 21/02/2001 15:46:44
Podés usar strncpy() indicando destino, origen, y cantidad de caracteres.
Si del string de origen no querés copiar desde el primer carácter, simplemente utilizá un desplazamiento, ej. var+7.
Tené en cuenta que esta función, en el destino, no agrega el terminador '\0' de string, por lo que tenés que hacerlo vos, estableciendo el fin del string donde quieras.
Ejemplos:

char origen[]="abcdefghijk";
char destino[50];

strncpy(destino,origen+2,5);
destino[5]='\0';
// ahí me quedó "cdefg"

strncpy(destino,origen+(strlen(origen)-4),4);
destino[4]='\0';
// me quedó "hijk", los últimos 4

Saludos
G
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