Manejo de archivos en Lenguaje C

C es uno de los lenguajes de programación más amplios y extensos que existen en la actualidad; por ello, el manejo de archivos o manipulación de estos no es una tarea tan difícil que digamos.

Al hablar de manejo de archivos en programación C nos referimos no al común almacenamiento en memoria (como normalmente se realiza con variables globales en C) sino a un almacenamiento en cualquier archivo ubicado en nuestro disco rígido, que en la mayoría de los casos es nuestro disco duro.

La entrada y salida (E/S) de datos es una de las características más habitualmente utilizadas en cualquier lenguaje programación para el manejo de datos…

Para poder manejar archivos en C es oportuno utilizar un puntero predefinido por nosotros dirigido a una estructura FILE que es un tipo de dato específico definido en la librería < stdio.h >.

La sintaxis básica es:

FILE *nombre;
nombre = facciónarealizar ( " nombredelarchivo.doc " , " modo " ) ;

Nótese que para una acción específica, ha de anteponérsele a la misma una f (proveniente de file, que es archivo en español); es indispensable el uso de ésta «palabrita» antes de la acción específica.

Un ejemplo básico:

FILE *fp;
fp = fopen ( " documento.txt " , " w+ " );

Allí abriremos el fichero documento.txt.

Existen diversos modos para manipular archivos:

    r : Sólo abre un fichero para su lectura.
    w : Si el fichero no existe, lo crea. Si existe, lo borra y añade uno nuevo.
    a : El fichero debe (ó no) existir. Lo abre para añadir información al final.
    r+ : El fichero ya existe y lo abre para actualizarlo.
    w+ : Crea un nuevo fichero para actualizarlo y si existe, sobreescribe en él.
    a+ : Abre un fichero para añadir información al final. Si no existe, lo crea.

Hagamos un ejemplo simple, abramos un documento Word y escribamos en él un texto que será solicitado al usuario desde lenguaje C.

Puedes descargar el código fuente desde aquí, y también, puedes descargar el ejecutable del programita de prueba.

Lamentablemente, no podré desarrollar aquí el código por limitaciones de mi servicio de hospedaje; no me permite la inclusión de códigos en programación C.

Si tienes alguna duda, no dudes en preguntar aquí mismo. 🙂

7 Comments