merci de vos réponces mais j'insiste.
http://www.linux-kheops.com/doc/man/manfr/man-ascii-0.9/man3/fgets.3.txt.html
Il est fortement déconseillé de mélanger les appels aux
fonctions de lecture de la bibliothèque stdio avec les
appels aux fonctions de lecture bas-niveau read() sur le
descripteur de fichier associé au flux. Les résultats sont
indéfinis, et très probablement indésirables.
là est mon problème. et de toute façon j'ai essayé et ça ne marche pas. En plus je ne comprend pas que le read(0,&msg,1) semble être non bloquant et retourne tout le temps -1 alors que read(socket,&msg,1) est blocant....
Read renvoi le nombre de caractère lu et il me semble qu'elle renvoi un entier que toi tu stocks dans un char donc au mieux si tu lis un caractère r ne sera pas égal à 1 mais à la valeur ascii de 1 ( enfin je pense)
le prototype est pourtant
#include <sys/types.h>
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
Partager