Utilisation des entrée/sortie de flux de données
Le QuickC offre de nombreuses routines système d'entrée/sortie tout comme le langage de programmation C. Les trois principales catégories de fonctions d'entrées/sorties sont : flux de données, console, et opération de bas niveau. Cette discussion d'introduction devrait vous aider à mieux comprendre comment le système d'entrée/sortie de QuickC est assemblé. Les opérations d'entrée/sortie sont l'un des composantes les plus importants d'un programme. Après tout, la plupart des programmes ont généralement besoin de lire et d'écrire des données sur l'écran, l'imprimante, le clavier et l'entreposage sur disque. Si nous n'apprenons pas à effectuer des opérations d'entrée/sortie correctes, nos programmes s'exécuteront de manière inefficace et nous pourrions même perdre des données précieuses.
Après avoir couvert l'organisation du système d'entrée/sortie, nous passerons notre temps à présenter les fonctions d'entrée/sortie du flux de données. Nous examinerons ces fonctions en profondeur et nous fournirons de nombreux exemples d'utilisation de ces fonctions. Le flux de données d'entrées/sorties est le niveau le plus élevé du système d'entrée/sortie du QuickC. Pour bien comprendre la puissance et la polyvalence des routines d'entrée/sortie de flux de données, nous devrons également présenter une terminologie importante telle que les entrées/sorties tamponnées, les flux de données, les pointeurs de flux définis par l'utilisateur et prédéfinis, les modes texte et binaire, et formaté et les entrées/sorties non formatées.
Présentation rapide du système d'entrée/sortie
Tout d'abord, regardons comment le système d'entrée/sortie du QuickC est organisé. Si vous avez l'impression d'être pris dans un labyrinthe lorsque vous travaillez avec les fonctions d'entrée/sortie C, vous serez peut-être surpris de constater que le système d'entrée/sortie de QuickC est en fait bien conçu. Pour mieux comprendre comment le système d'entrée/sortie est organisé, vous devez tout d'abord garder à l'esprit que les fonctions d'entrée/sortie fournies avec le QuickC ne sont pas définies par le langage de programmation C. Ils font partie de la bibliothèque C standard. Pour utiliser le système d'entrée/sortie, nous devons inclure les déclarations des fonctions de la bibliothèque dans nos programmes. Comme nous le verrons ensuite, la bibliothèque d'entrée/sortie standard se compose en fait de trois bibliothèques distinctes étant représentées par trois fichiers d'entête QuickC.
Le système d'entrée/sortie est puissant car il est conçu comme un système à usage général. Si vous examinez les bibliothèques d'entrée/sortie, vous trouverez des fonctions permettant d'effectuer un large éventail de tâches allant de la lecture et de l'écriture de fichiers de données à l'envoi de caractères vers des périphériques de sortie tels que des imprimantes et des écrans. Mais que sont exactement les bibliothèques C et comment sont-elles organisées ? Le système d'entrée/sortie C est soigneusement organisé en trois catégories :
- Le système d'entrée/sortie de flux de données.
- Le système d'entrée/sortie de la console et du port.
- Le système d'entrée/sortie de bas niveau.
Voici la liste des fonctions incluses dans chaque catégorie.
Fonctions d'entrée/sortie de flux de données
Nom | Description |
---|---|
clearerr | Cette fonction permet d'éliminer les indices d'erreurs et de fin de fichier. |
fclose | Cette fonction permet d'effectuer la fermeture d'un fichier. |
fcloseall | Cette fonction permet d'effectuer la fermeture de tous les fichiers. |
fdopen | Cette fonction permet d'associer un identificateur de fichier Handle à un identificateur de fichier standard. |
feof | Cette fonction permet d'indiquer si la fin du fichier est atteint. |
ferror | Cette fonction permet de retourner le code d'erreur d'entrée/sortie du fichier. |
fflush | Cette fonction permet de vider le tampon du fichier. |
fgetc | Cette fonction permet d'effectuer la lecture d'un caractère dans un fichier. |
fgetchar | Cette fonction permet d'effectuer la lecture d'un caractère à partir de la console standard. |
fgetpos | Cette fonction permet de demander la position du pointeur dans un fichier. |
fgets | Cette fonction permet d'effectuer la lecture d'une chaîne de caractères dans un fichier. |
fileno | Cette fonction permet de demander l'identificateur Handle d'un fichier. |
flushall | Cette fonction permet de vider tous les tampons de fichiers et de sortie standard. |
fopen | Cette fonction permet d'effectuer l'ouverture d'un fichier. |
fprintf | Cette fonction permet d'effectuer l'écriture de texte selon un certain format dans un fichier. |
fputc | Cette fonction permet d'effectuer l'écriture de caractère dans un fichier. |
fputchar | Cette fonction permet d'effectuer l'écriture de caractère sur la console. |
fputs | Cette fonction permet d'effectuer l'écriture d'une chaîne de caractères dans un fichier. |
fread | Cette fonction permet d'effectuer la lecture d'un bloc de mémoire de taille n*taille octets dans un fichier. |
freopen | Cette fonction permet de fermer le fichier et de réouvrir un fichier en lui affectant un pointeur. |
fscanf | Cette fonction permet la lecture de texte suivant un certain format dans un fichier. |
fseek | Cette fonction permet d'effectuer le positionnement du pointeur de fichier. |
fsetpos | Cette fonction permet de changer la position du pointeur de fichier. |
ftell | Cette fonction permet de connaître la position du pointeur de fichier. |
fwrite | Cette fonction permet d'effectuer l'écriture d'un bloc de mémoire de taille n*taille octets dans un fichier. |
getc | Cette fonction permet d'effectuer la lecture d'un caractère dans un fichier. |
getchar | Cette fonction permet d'effectuer la lecture d'un caractère à partir de la console standard. |
gets | Cette fonction permet d'effectuer la lecture d'une chaîne de caractères à partir de la console standard. |
getw | Cette fonction permet d'effectuer la lecture d'un mot (2 octets) dans un fichier. |
printf | Cette fonction permet d'effectuer l'écriture de texte selon un certain format sur la console. |
putc | Cette fonction permet d'effectuer l'écriture de caractère dans un fichier. |
putchar | Cette fonction permet d'effectuer l'écriture de caractère sur la console. |
puts | Cette fonction permet d'effectuer l'écriture d'une chaîne de caractères sur la console. |
putw | Cette fonction permet d'effectuer l'écriture d'un mot dans un fichier. |
rewind | Cette fonction permet de ramener le pointeur de fichier au début de ce fichier. |
rmtmp | Cette fonction permet d'enlever un fichier temporaire. |
scanf | Cette fonction permet la lecture de texte suivant un certain format dans une console standard. |
setbuf | Cette fonction permet de créer un tampon de fichier. |
setvbuf | Cette fonction permet de contrôler la taille d'un tampon du type de tamporisation du fichier. |
sprintf | Cette fonction permet d'effectuer l'écriture de texte selon un certain format à partir d'un tampon. |
sscanf | Cette fonction permet la lecture de texte suivant un certain format à partir d'un tampon. |
tempnam | Cette fonction permet de créer un nom de fichier temporaire dans le répertoire courant. |
tmpfile | Cette fonction permet d'effectuer la création d'un fichier temporaire. |
tmpnam | Cette fonction permet de choisir le nom de création d'un fichier temporaire. |
ungetc | Cette fonction permet d'effectuer la réécriture d'un caractère dans un fichier ayant été lu. |
vfprintf | Cette fonction permet d'effectuer l'écriture de texte selon un certain format à l'aide de paramètre virtuel. |
vprintf | Cette fonction permet d'effectuer l'écriture de texte selon un certain format à l'aide de paramètre virtuel sur la console. |
vsprintf | Cette fonction permet d'effectuer l'écriture de texte selon un certain format à l'aide de paramètre virtuel à partir d'un tampon. |
Fonctions de console et de port d'entrée/sortie
Nom | Description |
---|---|
cgets | Cette fonction permet d'effectuer la lecture d'une chaîne de caractères à partir du clavier. |
cprintf | Cette fonction permet d'effectuer l'écriture de texte selon un certain format sur la console. |
cputs | Cette fonction permet d'effectuer l'écriture d'une chaîne de caractères sur la console. |
cscanf | Cette fonction permet d'effectuer la lecture de texte suivant un certain format dans une console standard. |
getch | Cette fonction permet d'effectuer la lecture d'un caractère à partir du clavier. |
getche | Cette fonction permet d'effectuer la lecture d'un caractère à partir du clavier et affiche le caractère à l'écran. |
inp | Cette fonction permet de lire un octet dans le port spécifié. |
inpw | Cette fonction permet de lire un mot dans le port spécifié. |
kbhit | Cette fonction permet d'indiquer si l'utilisateur a appuyé sur une touche du clavier. |
outp | Cette fonction permet d'envoyer un octet dans le port spécifié. |
outpw | Cette fonction permet d'envoyer un mot dans le port spécifié. |
putch | Cette fonction permet d'effectuer l'écriture de caractère à l'écran. |
ungetch | Cette fonction permet d'envoyer le prochain caractère à être lu sur le clavier. |
Fonction d'entrée/sortie de bas niveau
Nom | Description |
---|---|
access | Cette fonction permet de vérifier le mode d'accès d'un fichier. |
chmod | Cette fonction permet de fixer le mode d'accès d'un fichier. |
chsize | Cette fonction permet de fixer une taille en octets à un fichier. |
close | Cette fonction permet de fermer un fichier. |
creat | Cette fonction permet de créer un fichier avec un mode d'accès spécifié. |
dup | Cette fonction permet de dupliquer l'identificateur Handle de fichier. |
dup2 | Cette fonction permet de dupliquer l'identificateur Handle de fichier par un autre identificateur Handle. |
eof | Cette fonction permet d'indiquer si la fin du fichier est atteint. |
filelength | Cette fonction permet de demander la taille du fichier Handle. |
isatty | Cette fonction permet de demander si un identificateur de fichier est un périphérique système (Clavier, Écran, Imprimante, Port série,...). |
locking | Cette fonction permet de verrouiller une région de fichier. |
lseek | Cette fonction permet de fixer la position du pointeur de fichier Handle. |
mktemp | Cette fonction permet de créer un nom de fichier temporaire. |
open | Cette fonction permet d'ouvrir un fichier. |
read | Cette fonction permet de lire les données d'un fichier. |
remove | Cette fonction permet d'effacer un fichier. |
rename | Cette fonction permet de renommer un fichier. |
setmode | Cette fonction permet de fixer le mode d'un fichier Handle. |
sopen | Cette fonction permet d'ouvrir un fichier en mode partagé. |
tell | Cette fonction permet de connaître la position du pointeur de fichier Handle. |
umask | Cette fonction permet de fixer le masque de permission par défaut. |
unlink | Cette fonction permet de supprimer un fichier à partir de son lien d'accès. |
write | Cette fonction permet d'effectuer l'écriture d'un bloc de mémoire dans un fichier Handle. |