Comprendre fonction write
Résolu
Bonjour,je viens d'utiliser la fonction write sans vraiment la comprendre, j'aimerais donc quelques explication.
Voilà ma fonction: write(1, &c, 1)
Je voudrais savoir à quoi correspond chaque chose dans la parenthèse.
Merci.
Voilà ma fonction: write(1, &c, 1)
Je voudrais savoir à quoi correspond chaque chose dans la parenthèse.
Merci.
3 réponses
-
ContributeurBonjour,
Pas besoin de faire des triplons, on ne répondra pas plus vite...
Il faut se reporter au man : http://manpagesfr.free.fr/man/man2/write.2.html
Pour info, write() n'est pas standard. On utilise plutôt fwrite().
Sinon, pour le write(), le type est : ssize_t write(int fd, const void *buf, size_t count)
Donc pour le premier argument, il faut le descripteur. En second, il faut l'adresse d'un pointeur. Donc plutôt "0123456789" entre guillemets. Et enfin la taille, ça ok.
Cdlt,-
-
ContributeurJe voulais surtout dire dire que fwrite() marchera sur n'importe quel système. L'autre ne fonctionnera que sur les POSIX.
De plus, ce ne sont pas des fonctions même niveau.
En plus, write() est bloquant, etc. Bref, l'avantage d'utiliser des wrapper c'est aussi de programmer en faisant abstraction de la couche système... -
-
ContributeurCe n'est pas le système qui est ANSI.
Dis autrement, si tu programmes en C standard, dès lorsque tu auras un compilateur, il y aura la bibliothèque libc qui sera implémentée assurant le fonctionnement du programme.
Pour le Posix, c'est une logique différente. C'est pour ça que ce n'est pas une même niveau. -
-