Es muy común, sobre todo en trabajos colaborativos, que cada persona trabaje en una codificación diferente (casi siempre porque se usan programas diferentes para editar, y poca gente se para a cambiar la codificación por defecto). Por ejemplo, hay quienes guardan todos sus archivos en iso-8859-1 o iso-8859-15, incluso utf-8. Pero llega el momento en que se edita el archivo de otra persona, y esas codificaciones producen extraños comportamientos en la ejecución.… Leer artículo completo
EMACS: Cambiando la codificación
Descargar automáticamente todos los programas de Redes

Apenas veo la televisión, pero hay ciertos programas que son interesantes y merecen la pena como Redes. Y tampoco me gusta verlos desde la web ya que Flash es muy lento, y me gusta tener lo que veo echar hacia atrás y hacia alante (como hace mplayer) y verlo cómodamente.Para ello, lo más cómodo es descargarlos, pero cómo descargarlos si tengo que bajarlos uno a uno (y son muchos), y tengo que mirar dónde está el archivo de vídeo (lo primero que nos podemos bajar a mano es una archivo de metadatos que nos dirá dónde está el vídeo), es una tarea muy lenta para hacerla a mano.… Leer artículo completo
Búsquedas rápidas en el historial de BASH

Cuando pasamos mucho tiempo en escribiendo en terminal, a veces tenemos la necesidad de repetir algo que escribimos en el pasado. Puede que estemos compilando algún programa, o haciendo un ./configure e instalando dependencias de un programa…
Muchas distribuciones lo tienen por defecto (por ejemplo Gentoo), pero otras muchas (Ubuntu, Mandriva, ArchLinux…) no lo tienen; se trata de activar las teclas de Avance y Retroceso de página para hacer búsquedas en nuestro historial.… Leer artículo completoGetters / Setters en PHP
Cuando estamos programando con clases en PHP, a veces tenemos la necesidad de acceder a atributos privados de una clase desde fuera, tal vez para sólo lectura, sólo escritura, o porque estos no pueden tener cualquier valor.
Pero claro, son atributos privados, no podemos hacer esto tal alegremente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<?php
class test
{
private $privado;
function test()
{
$privado="Variable privada";
}
}
$t=new test;
echo $t->privado;
?>En C++, por ejemplo, definimos getters/setters para todos los atributos qud podamos «tocar» desde fuera, aunque, es escribir demasiado (tratamos cada atributo por separado, y está bien).… Leer artículo completo
El lenguaje C en primera posición [de nuevo]
Leo en el Blog de Manuel Pereira que a su vez lee en Mi visión la nueva actualización del índice TIOBE.
En el que el lenguaje C vuelve a estar en primera posición con respecto a Java, que lo ha dejado en segundo lugar durante muchos años, y junto con C++ (aunque PHP sigue de cerca) forman el podio.Aunque, en muchos centros de enseñanza se considere que C o C++ son lenguajes anticuados, podemos ver que están a la orden del día y de hecho son usados, y mucho.… Leer artículo completo
Cosas que damos por hechas en C/C++: int main(int argc, char *argv[])
Esta serie de posts está dedicada a tod@s mis alumn@s de clases particulares de programación. Iré añadiendo información de diferentes niveles, dificultades, colores y sabores. Espero que les parezca interesante.
Fue en el primer año de carrera, cuando en la asignatura Fundamentos de Programación y luego en Laboratorio de Programación cuando empezábamos a hacer los primeros programas en C; yo hasta entonces no me había atrevido a programar nada en C, prefería Pascal, al menos llegué con una buena base de programación.… Leer artículo completo
Cuando un proceso «se come» la memoria de nuestro sistema
Hoy en día no se le suele ver la cara, dado que la memoria de nuestro sistema suele ser grande, pero cuando por ejemplo, a un proceso se le va la mano y reserva más memoria de la que tiene nuestro sistema, entra en marcha un proceso especial del núcleo de Linux; el OOM Killer (Out Of Memory Killer), que se encarga de detectar qué proceso es el peor del sistema y matarlo.… Leer artículo completoPor qué no debemos utilizar gets()
A veces me sorprendo (como profesor de programación) de que en muchos sitios siguen enseñando la función gets() para la entrada de datos desde teclado sin explicar lo que puede pasar.gets() es una función peligrosa. Imaginemos que escribimos el siguiente programa:
1
2
3
4
5
6
7
8
9
10
11
12Ahora la compilamos, ejecutamos e introducimos un texto de prueba:
… Leer artículo completo$ gcc -o test3 test3.c
/tmp/ccK2P2ON.o: In function `main’:
test3.c:(.text+0x32): warning: the `gets’ function is dangerous and should not be used.Tamaño de un fichero en C
Veo en nosolounix un ejercicio similar. Se trata de averiguar el tamaño en bytes de un archivo (Luego podemos saber su tamaño en Kb, Mb, Gb…).
Yo propongo una solución algo más ligera (sin necesidad de recorrer el fichero para contar sus bytes), utilizando las funciones fseek y ftell para posicionarnos y averiguar la posición del puntero del fichero en un instante:
… Leer artículo completo1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#include <stdio.h>
main ()
{
FILE *fich;
fich=fopen("test.c","r");
fseek(fich, 0L, SEEK_END);
printf("test.c ocupa %d bytes", ftell(fich));
fclose(fich);
}






Últimos comentarios