IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

readfile (API) / fread (AINSI-C)


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 3
    Points
    3
    Par défaut readfile (API) / fread (AINSI-C)
    Salut,

    Quel est l’intérêt d’utiliser readfile (API) plutôt que fread (AINSI-C) ?

    NB : je développe, uniquement, sur Windows XP.

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par valentine74
    Quel est l’intérêt d’utiliser readfile (API) plutôt que fread (AINSI-C) ?
    Tu t'assures que ton programme ne compilera que sous Windows

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    donc aucun avantage du readfile (window only) par rapport au fread (toute plateforme) ???!!!!
    Je peux donc continuer à utiler (sans complexe) les FILE *fout et fwrite (même sur windows )
    cool !

  4. #4
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Ben oui
    Plus c'est portable, mieux c'est
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par Pouic
    Ben oui
    Plus c'est portable, mieux c'est
    Ben non, n'importe quoi
    Quand je fais un programme pour Windows, j'utilise seulement les API. Avec elles tu controles mieux ce que tu fais, notamment avec les fichier. Par exemple, CreateFile a plus d'options que fopen.

    Et fread c'est de l'ANSI, pas de l'AINSI

  6. #6
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par socrate
    Quand je fais un programme pour Windows, j'utilise seulement les API.
    Si tu ne fais que le programmation Windows, tu fais ce que tu veux. Pour tous les autres qui doivent faire tourner des programmes sous Unix, Linux, VMS, etc., on programme portable...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Nous ne savons pas si valentine74 a besoin d'avoir quelque chose de portable.

  8. #8
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par socrate
    Nous ne savons pas si valentine74 a besoin d'avoir quelque chose de portable.
    A priori non, mais cette bonne vieille fread() fait bien le boulot, non? Et il ne faut jamais dire qu'on ne portera pas un programme.

  9. #9
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Citation Envoyé par socrate
    Nous ne savons pas si valentine74 a besoin d'avoir quelque chose de portable.
    Tu as d'un côté une fonction portable, qui offre les fonctionnalités demandées par le PO ; et de l'autre, une fonction système-dépendant, pour faire ce que l'autre fait.

    Le choix est vite vu : il faudrait avoir une poutre dans l'oeil et une sacré mauvaise foi pour dire qu'il faudrait choisir la fonction système-dépendant.

    Evidemment, s'il s'agit de programmation système, nécessitant des options spécifiques, on en rediscute. Mais au vu de la question du PO (ie quant à la pertinence de la fonction à utiliser), ça m'étonnerait : le choix d'une solution portable reste donc celle à choisir.
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Si tu le dis...
    Quand on fait une application qui va tourner seulement sous Windows (ce qui est vrai dans la majorité des cas me semble-t-il), c'est nul d'utiliser fopen. Je vois pas pourquoi tu décides que la portabilité c'est important

  11. #11
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Citation Envoyé par socrate
    Si tu le dis...
    Quand on fait une application qui va tourner seulement sous Windows (ce qui est vrai dans la majorité des cas me semble-t-il), c'est nul d'utiliser fopen. Je vois pas pourquoi tu décides que la portabilité c'est important
    Pourquoi ?
    Parce qu'il existe d'autres systèmes.

    Quand je développe une application pour une plate-forme embarquée, je ne m'amuse pas à tout recoder quand ladite plate-forme évolue.

    Quand un outil qu'on développe doit au moins tourner sur les 3 systèmes grand public (Linux, Mac OSX, Windows) , je ne m'amuse pas à tout recoder.

    Quand je reprend un code déjà existant pour le faire tourner sur une plate-forme différente, j'apprécie que le codeur précedent ait fait son code de façon portable afin de réduire le coût humain/financier inhérent à un refactoring.

    Donc non, Windows n'est pas le seul système ; et une application faite pour Windows peut interesser des gens n'utilisant pas ce système.

    A partir de là, une solution portable est la meilleure pour la pérénité d'une application, ainsi que pour ceux qui auront à la faire évoluer (développeur, entreprise) : tout le monde y gagne.
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Tu m'a carrément cloué le bec

  13. #13
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Citation Envoyé par socrate
    Tu m'a carrément cloué le bec
    J'espère surtout t'avoir sensibilisé au problème de la portabilité...
    Afin que tu réfléchisses aux conséquences qu'impliquent des réflexions comme celle que tu as faite

    (mon intérêt n'est pas de clouer le bec de gens, loin de là : je ne serai pas sur ce forum sinon... )
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  14. #14
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par socrate
    Si tu le dis...
    Quand on fait une application qui va tourner seulement sous Windows (ce qui est vrai dans la majorité des cas me semble-t-il), c'est nul d'utiliser fopen. Je vois pas pourquoi tu décides que la portabilité c'est important
    Nous avons un goret de Force 5 !

    http://emmanuel-delahaye.developpez.com/goret.htm
    Utilisation de fonctions systèmes alors qu'il existe des fonctions standards qui font le même travail
    Pas de Wi-Fi à la maison : CPL

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Ne t'inquiète pas, je suis un authentique Force 10. En effet j'utilise parfois le goto, et souvent des variables globales publiques modifiables
    Ma foi, quand je code c'est pour moi et pas pour les autres, donc je respecte mes méthodes
    Je ne suis pas un force 9 car je n'utilise pas malloc (ben oui, c'est standard), mais HeapAlloc ou VirtualAlloc
    Pour être sérieux, j'approuve pas ton échelle de goret. Quelques exemples que je ne comprends pas:
    switch de plus de 20 case
    cacher les pointeurs (c'est quand même un peu obligatoire des fois)
    Absence de prototypes (a quoi ca sert de les mettre systématiquement)
    Plus d'un return par fonction
    Utilisation abusive de la récursion

    Bref, j'ai pas les mêmes points de vue que vous partout, c'est pas une raison de me traiter de goret

    PS: à ta place je mettrais pas d'icone W3C quand la page web n'est pas valide A moins que ce soit la foirce 11 et que tu ais oublié de l'écrire?

  16. #16
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par socrate
    PS: à ta place je mettrais pas d'icone W3C quand la page web n'est pas valide A moins que ce soit la foirce 11 et que tu ais oublié de l'écrire?
    No excuse.... (Corrigé).
    Pas de Wi-Fi à la maison : CPL

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Pour revenir au pb de départ:
    Par exemple un fopen échoue. Comment savoir pour quelle raison il a échoué (fichier n'existe pas, déja utilisé, pas les droits...)
    En fait, je trouve que les fonctions standard sont trop vagues (ce qui est normal)

  18. #18
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par socrate
    Pour revenir au pb de départ:
    Par exemple un fopen échoue. Comment savoir pour quelle raison il a échoué (fichier n'existe pas, déja utilisé, pas les droits...)
    En fait, je trouve que les fonctions standard sont trop vagues (ce qui est normal)
    perror()
    Pas de Wi-Fi à la maison : CPL

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Bon ben je suis un force 5 alors, mais je le resterai

  20. #20
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Le seul interet de ReadFile c'est le partage de fichiers entre application. Mais c'est très très rarement utile. Donc à n'utiliser que en cas de (grande) necessité.

    http://www.developpez.net/forums/sho...d.php?t=148427

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/02/2015, 22h51
  2. php utilisant l'API SNMP se comportant ainsi comme ZABBIX
    Par the first one dans le forum Développement
    Réponses: 0
    Dernier message: 29/07/2011, 21h56
  3. Fonction api win32 ReadFile : lire trame de longueur inconnue?
    Par filipaillou dans le forum Visual C++
    Réponses: 1
    Dernier message: 30/04/2009, 10h01
  4. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  5. API ReadFile et WriteFile, comment l'utiliser ?
    Par AsmCode dans le forum MFC
    Réponses: 2
    Dernier message: 04/08/2005, 22h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo