Tutorial de Lenguaje C                                                                                               Dr. Roberto Gómez


ARCHIVOS BINARIOS

            + Abrir archivos de nombre path, con bandera of lag en modo mode
                    int open(const char *path, int oflag,
                                                                                                                                    /* mode葉 mode */x ...))

            + Escritura en archivo apuntado por f ildes
                    int write(int fildes, const void *buf, size葉 nbyte);

            + Lectura archivo apuntado por f ildes
                    int read(int fildes, void *buf, size葉 nbyte);

            + Cerrar archivo f ildes
                    int close(int fildes);

            + Posicionar el apuntador en el archivo
                    off葉 lseek(int fildes, off葉 offset, int whence);

            + Creación de archivo con nombre path
                    int creat(const char *path, mode葉 mode);

                    #include <unistd.h> y #include <fcntl.h>
 

Ejemplo uso archivos binarios

/* Programa que copia el contenido de un archivo en otro */

#include <unistd.h>
#include <fcntl.h>

char buffer[2048];

        main(argc)
 
                    int argc;
                    char *argv[];
                    {
                        int fdold, fdnew;
                        if (argc != 3) {
                            printf('' Faltan parametros \n'');
                            exit(1);
                            }

/* abrir archivo fuente modo lectura */

                        fdold = open(argv[1], O_RDONLY);
                        if (fdold == -1) {
                            printf('' El archivo %s no se puede abrir \n'', argv[1]);
                            exit(1);
                            }

/* creación del archivo destino en modo rw para todos */

                        fdnew = creat(argv[2], 0666);
                        if (fdnew == -1) {
                            printf('' Imposible de crear el archivo: %s \n'', argv[2]);
                            exit(1);
                            }

                        copia(old, new)
                        int old, new;
                        {
                                int count;

/* copiando bloques de 2048 bytes de un archivo a otro */

                                while ((count = read(old, buffer, sizeof(buffer))) ? 0)
                                write(new, buffer, count);
                        }
 
 

MENÚ PRINCIPAL