lompa

| 150 envíos |  | Desconectado | 1877 lecturas 1 respuestas | | Punteros y char | 04-01-2011 a las 19:15:53 |
¡Buenas! Como siempre, dando caña con el C. Hasta que llego a los punteros.. y me cuesta utilizarlos. Digo utilizarlos porque entender lo que hacen lo comprendo, pero como utilizarlos y como hacen las cosas.. ya es otra. He llegado asta el siguiente código. No se porque, pero siempre llego a tonterías que no entiendo porque semi-funcionan. Es decir, se ve "Linux todo poderoso" por pantalla, pero yo quiero que en la posición 2 pase a ser '-' y termine siendo "Li-ux todo poderoso". Es una tontería que no me sale  Supongo que no se puede hacer esto que tenia pensado, alguien tiene la idea de como hacerlo sin usar la libreria string.h ? PD: Si es un fallo muy tonto... no lo se ver 
Responder | Citar | Moderar | Mensaje Privado |
Sanguinario_Joe

| 368 envíos |  | Desconectado |
#1 |
Hola Lompa! Recuerda que luego tenemos algo que hacer... De momento vamos a solucionar esto.
Tu quieres cambiar solo la variable segunda, y para eso existen métodos directos, pero eso a ti no te interesa, porque la idea es usar punteros.
La jugada en tu caso probablemente seria la siguiente:
1.- Crear la cadena de texto (Estatica en tu caso, lo cual no suele ser una buena opcion, pero en este caso no pasa nada). 2.- Extraer la direccion de memoria del segundo caracter. 3.- Modificarlo.
El codigo seria el siguiente (y despues lo vemos):
En la siguiente linea extraes la direccion del segundo caracter:
De hecho, si imprimes pnombre, obtendrias la cadena de texto "nux todo poderoso", es decir, es la misma cadena de texto, pero tu apuntas a un sitio diferente, mas avanzado dentro de ella.
Ya solo necesitas cambiar el caracter:
Nota que no necesitas usar pnombre[0], puesto *pnombre apunta al mismo sitio que pnombre[0], y al asignarle ese valor solo ocupara el espacio de memoria necesario, que es el que ocupaba 'n', y por tanto no te modificara nada del resto de la cadena.
Y siguiendo esa linea, a ver si consigues modificar "nu" por "--", sin usar '-' en ningun momento (Es un ejercicio muy ilustrativo).
Saludos!!! Una causa es la causa de la siguiente. Y la suma de las causas es la causa del desastre. (Principios de la causalidad de Pepe) Responder | Citar | Moderar | Mensaje Privado |