J'essaie de projeter un fichier en mémoire pour pouvoir l'utiliser. Le fichier contais structs donc j'essaye d'utiliser un pointeur au début d'une structure puis de le lire et de modifier une variable. Le problème est que le temps d'exécution est élevé et je suppose qu'en utilisant mmap le temps sera moindre. Ceci est le code, une suggestion?Projection de fichier en mémoire à l'aide de mmap
#include <unistd.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/mman.h>
int revisanotas(int fd)
{
int nbytes=1;
int nbytese=0;
int i=0;
int n=0;
struct stat datos;
fstat(fd, &datos);
evaluacion buf;
evaluacion* buffer=mmap(0,datos.st_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
int actual = read(fd,buffer,datos.st_size);
{
i++;
if (buffer[i].notamedia >= 4.5 && buffer[i].notamedia < 5)
{
n=n+1;
printf("Notamedia = %f\n",buffer[i].notamedia);
buffer[i].notamedia=5;
}
}while (i<(datos.st_size/(sizeof(evaluacion))));
return
Vous manquez un 'do' après l'appel de' read'? –