Kirai.Net



Temas



Archivos

Enlaces

Internet

Otros


Truquillo en C

Este post quizás sea un poco durillo para los que no programen en C, pero os ará ver la gran potencia de la aritmética de punteros y de que forma nos puede solucionar la vida en una sola línea de código. Vamos a analizar las siguiente sentencia:



*strrchr(linea, 'n') = '0';

Sabiendo que strrchr lo que hace es buscar desde el final en la cadena pasada como primer parámetro el carácter pasado como segundo parámetro y devuelve un puntero al char de la posición donde se ha encontrado. Si miramos en el API de C encontraremos lo siguiente:



char * strrchr (const char *string, int c);

Ya podemos saber la operación que realiza la primera sentencia propuesta. Buscará en la linea la primera n desde el final y devolverá el puntero a char que apunta a esa dirección pero en la misma operación a este puntero le podremos asignar el nuevo valor 0. En definitiva como podéis observar estamos sustituyendo la última n por un 0 en una sola linea de código de C. Quizás sea mucho más sencillo hoy en día usando un metodo replace en cualquier lenguaje orientado a objetos, pero en C controlamos realmente lo que está sucediendo. En un lenguaje de alto nivel no sabemos realmente como está implementado el método replace.

08/12/2003 11:22

Comentarios » Ir a formulario

No hay comentarios

Añadir un comentario




No será mostrado.






Blog creado con Blogia. Derechos de autor con . Estadísticas. Suscribir RSS. Admin.

[Blogia apoya Blogs. La conversación, el Evento Blog España y los Premios Bitacoras.com 2008 | Medio Oficial: ADN.es]