Différence entre getchar et fread
Résolu
chaimae97
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
chaimae97 Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
chaimae97 Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Svp , concernant la différence entre getchar et fread, le prof nous a dit que :
getchar : a plus d'accés aux fichiers à distance
fread : cherche juste dans le même répertoire
et c'est pour ces raisons getchar et plus rapide que fread
mais j'ai pas compris ces différences !
Pouvez-vous m'éclaircir les choses ?
Mercii d'avance
Svp , concernant la différence entre getchar et fread, le prof nous a dit que :
getchar : a plus d'accés aux fichiers à distance
fread : cherche juste dans le même répertoire
et c'est pour ces raisons getchar et plus rapide que fread
mais j'ai pas compris ces différences !
Pouvez-vous m'éclaircir les choses ?
Mercii d'avance
A voir également:
- Différence entre getchar et fread
- Différence entre tcp et udp - Guide
- Difference entre million et milliard - Accueil - Technologies
- Difference entre mode avion et donnees mobiles - Guide
- Difference entre mo et mb - Forum Matériel & Système
- Difference actif et en ligne messenger - Forum Facebook Messenger
1 réponse
Ce n'est pas ce que j'ai compris avec la documentation officielle.
getchar :
int getchar ( void );
Get character from stdin
Returns the next character from the standard input (stdin).
It is equivalent to calling getc with stdin as argument.
Source : getchar sur C++
fread :
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
Read block of data from stream
Reads an array of count elements, each one with a size of size bytes, from the stream and stores them in the block of memory specified by ptr.
The position indicator of the stream is advanced by the total amount of bytes read.
The total amount of bytes read if successful is (size*count).
Source : fread sur C++
De ce que j'ai compris :
getchar permet de récupérer une entrée spécifique (un caractère) sur une entrée spécifique (stdin soit la console).
fread permet de récupérer une entrée variable (bloc de donnée dont la taille est paramétrable) sur une entrée quelconque (stream signifie flux donc en particulier, stdin devrait fonctionner mais applicable pour un fichier).
Ainsi, getchar est plus rapide que fread car c'est sortir l'artillerie lourde que d'utiliser fread à la place de getchar.
getchar :
int getchar ( void );
Get character from stdin
Returns the next character from the standard input (stdin).
It is equivalent to calling getc with stdin as argument.
Source : getchar sur C++
fread :
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
Read block of data from stream
Reads an array of count elements, each one with a size of size bytes, from the stream and stores them in the block of memory specified by ptr.
The position indicator of the stream is advanced by the total amount of bytes read.
The total amount of bytes read if successful is (size*count).
Source : fread sur C++
De ce que j'ai compris :
getchar permet de récupérer une entrée spécifique (un caractère) sur une entrée spécifique (stdin soit la console).
fread permet de récupérer une entrée variable (bloc de donnée dont la taille est paramétrable) sur une entrée quelconque (stream signifie flux donc en particulier, stdin devrait fonctionner mais applicable pour un fichier).
Ainsi, getchar est plus rapide que fread car c'est sortir l'artillerie lourde que d'utiliser fread à la place de getchar.
Mais j'ai pas compris ce que vous voudriez dire par votre dernière phrase, pourquoi getchar est plus rapide
C'est comme si tu voulais remplir un verre d'eau avec un arrosoir. ça marche, mais c'est pas efficace.
Dans la mesure du possible dans le domaine de la programmation, il faut utiliser les fonctions existantes qui se rapproche le plus du besoin. Si tu veux récupérer un caractère de l'utilisateur sur la console : getchar fait l'affaire. Si tu veux lire un fichier qui contient des structures sous la forme d'un code byte : fread.
Tu peux tout faire avec tout mais c'est plus dur dans certains sens et parfois pas optimisé.