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.

3 réponses

  1. Contributeur
    Bonjour,

    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,
    -1
    1. Bonjour
      il faut comprendre par ce que veut dire @fiddy que fwrite est du type ANSI C et mieux optimisé que write qui est du type POSIX qui n'est pas bien optimisé à la lecture de fichiers que celle des ANSI
      à bientôt
      0
    2. Contributeur
      Je 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...
      0
    3. Exacte mais défois faut prendre en compte cet aspect système et je me pose la question suivante existe-t-il un système d'exploitation totalement ANSI pur ?
      0
    4. Contributeur
      Ce 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.
      0
    5. oui ça j'ai bien compris mais pourrais ton ne pas avoir toutes les couches système portable et par définition avoir un système indirectement portable voir portable tout court ? même si étant une idée l'appliquer c'est différent
      0