Para terminar con las funciones relacionadas con el manejo de ficheros veremos chmod(), chown() , stat() , readdir(), opendir(), scandir(). La función chmod() tiene el mismo uso que el comando del mismo nombre: cambiar los modos de acceso permitidos para un fichero en concreto. Por mucho que estemos utilizando C, nuestro programa sigue sujeto a las restricciones del Sistema de Ficheros, y sólo su propietario o root podrán cambiar los modos de acceso a un fichero determinado. Al crear un fichero, bien con creat() o bien con open(), éste tiene un modo que estará en función de la máscara de modos… Continuar leyendo


En linux tenemos dos grupos de funciones para lectura y escritura de ficheros. Las funciones open(), write(), read() y close() son de algo más bajo nivel y específicas de linux. Dichas funciones serán tratadas en este artículo y dejaré ejemplos de cómo abrir y escribir archivos binarios. Los que desean utilizar funciones que son estándar de C, les recomiendo que lean este artículo – Comencemos por crear un fichero. Existen dos maneras de abrir un fichero, open() y creat(). Antiguamente open() sólo podía abrir ficheros que ya estaban creados por lo que era necesario hacer una llamada a creat() para llamar a open() posteriormente. A día… Continuar leyendo


Repaso de las funciones: Fork y wait: Para crear nuevos procesos, el UNIX dispone únicamente de una llamada al sistema, fork, sin ningún tipo de parámetros. Su prototipo es int fork(); Al llamar a esta función se crea un nuevo proceso (proceso hijo), idéntico en código y datos al proceso que ha realizado la llamada (proceso padre). Los espacios de memoria del padre y el hijo son disjuntos, por lo que el proceso hijo es una copia idéntica del padre que a partir de ese momento sigue su vida separada, sin afectar a la memoria del padre; y viceversa. Siendo más… Continuar leyendo


Según se ha dado a conocer recientementente un grupo de derechos digitales del Reino Unido ha puesto en marcha una campaña para integrar un nuevo error con el que advertir de la no disponibilidad de un contenido web por infracción del derecho de autor. Este nuevo error denominado 451 evoca la novela Farenheit 451, una popular obra literaria en donde el acceso a libros y demás fuentes del conocimiento es censurada por las autoridades para favorecer una sociedad controlada y más “feliz”. Actualmente cuando intentamos acceder a una página web que ha sido eliminada encontramos un código de respuesta HTTP… Continuar leyendo


El efecto de sombra alargada, tan de moda últimamente, es posible lograrlo de diferentes formas, como era de esperar jQuery (es decir Javascript) también es una de ellas. Hoy presentamos jQuery Flat Shadow un plugin jQuery que nos permite conseguir efectos interesantes con los que de forma sencilla podemos cambiar el estilo de los elementos de nuestra interfaz de usuario. Este recurso para diseñadores y desarrolladores web nos permite crear sombras del color que deseemos, así como elegir el ángulo de dicha sombra o inlcuso seleccionar si queremos que sea animada. Soportado por los principales navegadores este plugin no sobrecarga en exceso… Continuar leyendo


Free Monitor for Google sirve para monitorizar keywords o palabras clave y la posición que ocupan determinadas URL definidas por el usuario buscando a través de las palabras clave relacionadas. Para utilizar “Free Monitor for Google” evidentemente primero debemos descargar e instalar la aplicación en nuestro ordenador con Windows. Podemos descargar Free Monitor for Google a través del siguiente enlace: http://www.cleverstat.com/es/google-monitor-query.htm Después de instalar la aplicación, la ejecutamos y lo primero que vamos a ver es una ventana parecida a esta: La imagen anterior muestra una ventana de configuración inicial en la que debemos seleccionar cuantos resultados se obtendrán para cada… Continuar leyendo


Una situación muy habitual dentro de un programa es la de crear un nuevo proceso que se encargue de una tarea concreta, descargando al proceso principal de tareas secundarias que pueden realizarse asíncronamente o en paralelo. Linux ofrece varias funciones para realizar esto: system(), fork() y exec(). Con system() nuestro programa consigue detener su ejecución para llamar a un comando de la shell (“/bin/sh” típicamente) y retornar cuando éste haya acabado. Si la shell no está disponible, retorna el valor 127, o –1 si se produce un error de otro tipo. Si todo ha ido bien, system() devuelve el valor… Continuar leyendo


Este manual es ideal para aprender a programar en el lenguaje C bajo el sistema operativo Linux. Nivel de dificultad: Intermedio/Experto Al crear los artículos, asumo que ya tienen conceptos básicos de programación (sino lo tienen, recomiendo que visiten mi manual básico e intermedio de C++). Si tienen alguna duda, pueden dejar comentarios en los artículos, que con gusto los responderé. Índice: C en Linux – Introducción Argumentos y Estructuras de control en C – Linux Creación y duplicación de procesos en C (Parte I) – Linux Creación y duplicación de procesos en C (Parte II) – Linux Archivos en… Continuar leyendo


El lenguaje C tiene varias estructuras de control para bucles y bifurcaciones condicionales. Argumentos en C pasados por el sistema operativo: En este caso, si usas la consola linux tenés que compilar el programa: gcc -o nombre nombre.c y luego ejecutarlo: ./nombre holamundo 2 El paso de compilación y ejecución es el mismo para los siguientes ejemplos. Ingreso de datos a través del programa en ejecución: Ejemplo de If, While y Switch: Ejemplo de For y vectores:


GCC (GNU Compiler Collection): es el compilador creado por el proyecto GNU. Se trata de una colección de programas libres integrados capaces de compilar diversos lenguajes de programación, entre estos C, C++, Objective-C, Java, Ada y Fortran. GCC es utilizado en el desarrollo de la mayoría de programas libres. Especialmente, el núcleo Linux depende estrechamente de las funcionalidades de GCC. En la práctica, la abreviación GCC es utilizada para nombrar a tres entidades ligeramente diferentes: 1. la colección completa de compiladores. 2. la parte común a todos los compiladores. 3. el compilador en si. Para referirse exactamente a los compiladores… Continuar leyendo