Comprendre fonction write [Résolu/Fermé]

Signaler
-
Messages postés
609
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
24 juin 2016
-
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


Je précise que c'est du C.

J'ai fait write(1, 0123456789, 10)
Pour afficher les nombre de 0 à 9.
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 707
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,
Messages postés
609
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
24 juin 2016
39
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 ?
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 707
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.
Messages postés
609
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
24 juin 2016
39
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
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 707
Je ne comprends pas où tu veux en venir.
Portable ou pas portable, c'est pas précis... Par rapport à quelle norme ? POSIX ?
Donc la question serait : pourrait-on avoir un système non POSIX ? Si c'est la question, oui. Mais cela ne pose pas de problème du moment que tu utilises une fonction standard C.
Si ce n'est pas ta question, sois plus précis :-).
Messages postés
609
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
24 juin 2016
39
c'est ma question mdrr