URL: https://linuxfr.org/forums/programmation-c--2/posts/lockf-et-pb-dinclude Title: lockf et pb d'include Authors: Cereal Killer Date: 2006年01月06日T23:31:39+01:00 Tags: debian Score: 0 Bonsoir les moules! Un petit problème en c m'amène a vous. Le but du jeu est d'utiliser lockf et comme un bon bout de code vaut mieux qu'un long discours, voilà mon code : #include <stdio.h> #include <fcntl.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/file.h> #include <unistd.h> int main(int argc, char **argv) { £spaces£ £/spaces£int fd; £spaces£ £/spaces£off_t offst; £spaces£ £/spaces£char *buff; £spaces£ £/spaces£if( (fd = open("./fic", O_RDONLY)) != -1 ) £spaces£ £/spaces£{ £spaces£ £/spaces£printf("ouvert\n"); £spaces£ £/spaces£offst = lseek(fd, 12, SEEK_SET); £spaces£ £/spaces£if( ( lockf(fd, F_TLOCK, offst) ) != -1) £spaces£ £/spaces£{ £spaces£ £/spaces£buff = (char *)malloc(sizeof(char)*2); £spaces£ £/spaces£read(fd, buff, sizeof(char)); £spaces£ £/spaces£write(1, buff, sizeof(char)); £spaces£ £/spaces£printf("\n"); £spaces£ £/spaces£free(buff); £spaces£ £/spaces£}else{ £spaces£ £/spaces£perror("lockage"); £spaces£ £/spaces£} £spaces£ £/spaces£}else{ £spaces£ £/spaces£perror("ouverture"); £spaces£ £/spaces£} £spaces£ £/spaces£if( (close(fd)) != -1 ) £spaces£ £/spaces£{ £spaces£ £/spaces£printf("ferme\n"); £spaces£ £/spaces£}else{ £spaces£ £/spaces£perror("fermeture"); £spaces£ £/spaces£} £spaces£ £/spaces£return 0; } et voilà c'que ça me sort quand je compile : gcc -Wall -ansi main.c -o verrou main.c: In function 'main': main.c:19: warning: implicit declaration of function 'lockf' main.c:19: error: 'F_TLOCK' undeclared (first use in this function) main.c:19: error: (Each undeclared identifier is reported only once main.c:19: error: for each function it appears in.) make: *** [all] Erreur 1 Alors que man lockf m'indique qu'il ne faut include que unistd.h !? J'ai essayer ça sur 2 debian différentes et j'ai le même resultat. Quelqu'un à une idée ? Merci d'avance.