OVH Cloud OVH Cloud

Comment ouvrir un flot d'entrée non bloquant ?

2 réponses
Avatar
Eric Bart
Bonjour,

Je cherche l'équivalent de de
int fd = open(AXARFIFO, O_RDONLY|O_NONBLOCK);

J'imagine que cela ne marche pas :
ifstream isReadFifo(AXARFIFO,ios:in |O_NONBLOCK);

Où bien est-ce possible de rendre
getline(flot,string) non bloquant ?

Merci

2 réponses

Avatar
Djelal Raouf
Bonjour,

Je cherche l'équivalent de de
int fd = open(AXARFIFO, O_RDONLY|O_NONBLOCK);

J'imagine que cela ne marche pas :
ifstream isReadFifo(AXARFIFO,ios:in |O_NONBLOCK);

Où bien est-ce possible de rendre
getline(flot,string) non bloquant ?


Pas en C ni en C++ standard. Si ton système est compatible POSIX,
c'est là qu'il faut chercher (en particulier fcntl).

--
Djelal Raouf
djelal dot raouf at ensta dot org

Avatar
Eric Bart
Je cherche l'équivalent de de
int fd = open(AXARFIFO, O_RDONLY|O_NONBLOCK);

J'imagine que cela ne marche pas :
ifstream isReadFifo(AXARFIFO,ios:in |O_NONBLOCK);

Où bien est-ce possible de rendre
getline(flot,string) non bloquant ?


Pas en C ni en C++ standard. Si ton système est compatible POSIX,
c'est là qu'il faut chercher (en particulier fcntl).


fcntl demande le file descriptor :
int fcntl (int filedes, int command, ...)

Comment récupérer le file descrpt. d'un stream C++ ?

J'ai pas trouvé !