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 :

read et write


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    30
    Points
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 30
    Points : 18
    Par défaut read et write
    Bonjour,

    Soit ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char tamp[TAILLE];
    int n;
    n = read (0,tamp,TAILLE);
    read remplit son tableau avec des caractères provenant de l'entrée standart (ici l'écran). Donc j'imagine qu'après l'ajout d'un caractère tamp pointe ensuite sur l'élément suivant du tableau jusqu'à ce que le tableau soit rempli.

    Ma question est donc:

    A-t-on au début de read initialisé un pointeur sur le début du tableau tamp (comme ceci : char *ptr = tamp) afin qu'une fois le tableau rempli, on fasse pointé tamp sur le début du tableau (tamp = ptr) ? Ou bien laisse t-on pointé tamp sur la fin du tableau ?

    Même question avec write !

    Les fonctions read et write sont bien définies dans la bibliothèque standart et appellent les appels systèmes du même nom, n'est-ce pas ?

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Points
    6 911
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Par défaut
    - en C, tous les passages de paramètres se font par valeur, donc une fonction ne peut pas modifier ce qui lui est passé de manière visible par l'appelant;
    - les tableaux ne sont pas des pointeurs!
    - read et write ne sont pas des fonctions standard en C.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    30
    Points
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 30
    Points : 18
    Par défaut
    Merci bpc!!

    Grosse confusion de ma part

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Par défaut
    Citation Envoyé par DiabolO
    Soit ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char tamp[TAILLE];
    int n;
    n = read (0,tamp,TAILLE);
    read remplit son tableau avec des caractères provenant de l'entrée standart (ici l'écran).
    Ecran tactile alors. OK.

    Parler d'entrée standard avec des fonctions qui ne le sont pas, cest un peu n'importe quoi...

    Pourquoi n'utilises-tu pas getchar() ou fread(), si tu y tiens ? C'est fait pour, et au moins, on sait ce qu'est stdin ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gérer l'acces à des fichiers : read only / write ..
    Par ryoussef19 dans le forum Visual C++
    Réponses: 21
    Dernier message: 09/08/2007, 16h39
  2. Depth component read and write Oo
    Par Groove dans le forum OpenGL
    Réponses: 1
    Dernier message: 30/03/2007, 13h50
  3. Réponses: 2
    Dernier message: 22/03/2007, 17h56
  4. Pb avec read et write sous vc++
    Par Jbx 2.0b dans le forum SDL
    Réponses: 13
    Dernier message: 28/04/2006, 15h58
  5. Réponses: 6
    Dernier message: 18/10/2004, 15h30

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