+ 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);
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);
}
|
|
|