bonjour,
lors de la lecture du chapitre 8 du K&R2 à propos de l'interface UNIX le premier exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#include "syscall.h"
 
main(){ /* copie l'entrée sur la sortie */
	char tamp[BUFSIZ];
	int n;
 
	while ((n = read(0, tamp, BUFSIZ)) > 0)
		write(1, tamp, n);
	return 0;
}
-> compilation:
emprex@debian:~/le_langage_C/chap8$ gcc copieIE.c -o copieIE
copieIE.c: In function ‘main’:
copieIE.c:5: error: ‘BUFSIZ’ undeclared (first use in this function)
copieIE.c:5: error: (Each undeclared identifier is reported only once
copieIE.c:5: error: for each function it appears in.)
emprex@debian:~/le_langage_C/chap8$ gcc copieIE.c -o copieIE
emprex@debian:~/le_langage_C/chap8$
or si j'utlise <stdio.h>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
main(){ /* copie l'entrée sur la sortie */
	char tamp[BUFSIZ];
	int n;
 
	while ((n = read(0, tamp, BUFSIZ)) > 0)
		write(1, tamp, n);
	return 0;
}
la compilation se déroule très bien.
Il me semblait que dans cette bibliothèque il fallait utiliser fread et fwrite.
savez vous pourquoi ?