C/Visual C - problema con cadenas

 
Vista:

problema con cadenas

Publicado por migue (4 intervenciones) el 14/12/2007 02:15:53
Hola, tengo una cadena de caracteres, de la cuál, el último caracter es un número. Lo que quiero es pasar ese caracter a long.
Si hago esto: long num = atol(buffer[5]); poniendo que 5 es la posicion del número dentro de la cadena. Me da problemas porque el argumento no es un const char *. He intentado hacerlo con buffers intermedios con las funciones sprintf, strcpy, strcat, pero me dan problemas de casting. Si alguien puede orientarme como hacerlo se lo agradeceria.

Estoy hablando de C, que se me olvidaba.

Un saludo programadores!
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:problema con cadenas

Publicado por Nelek (816 intervenciones) el 14/12/2007 11:54:54
char* cadena = "TuCad7";

char* temp = cadena + 5;

Supuestamente con eso deberias tener el numero de la posicion 5 en temp, los punteros tambien admiten aritmetica para apuntar a determinados caracteres. El problema de esto es que si la cadena continua (es decir que el numero no es la ultima posicion), entonces temp contendra como primer caracter el numero, pero luego seguira hasta el final. Habras quitado unos cuantos sitios, pero no habras aislado el numero.

Una vez con eso, si que deberias poder usar un strcpy desde el principio por un largo de un char y desechar el resto.
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