Section courante

A propos

Section administrative du site

 Langage  Installation  Elément  Tutoriel  Programmation  Emulateur  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
QuickC 2.51
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instructions de boucles
Définition de procédure et fonction
Type de données
Fichier d'entête
Référence des mot réservés (mots clefs)
Référence des fonctions
Utilisation des entrée/sortie de flux de données
Contrôler le matériel sur le compatible IBM PC
Clavier, son et souris
Géographie
Distance en Km entre deux longitudes et latitudes
DOSBox
PCE - PC Emulator
PCem
Table ASCII
Table des codes ANSI
Lexique et dictionnaire 80x86
Interruptions
Port d'entrée/sortie
RAM de l'IBM PC
Comparaison
00h à 07h: Processeur
08h à 0Fh: Périphériques (IRQ0 à IRQ7)
10h: Gestionnaire vidéo
13h: Accès aux disques
15h: Extension d'Entrée/Sortie
21h: Service DOS
2Fh: Multiplexe
00h: Mode vidéo
01h: Sélection du type de curseur
10h, F0h: Tseng Labs HiColor
4Fh: Pilote VESA
5Fh: Realtek RTVGA
6Fh: Video 7
18h: Demande des informations SCSI
01h: Écrit dans la RAM non-volatile (Amstrad PC1512)
02h: Lecture dans la RAM non-volatile (Amstrad PC1512)
10h: Gestionnaire principal TopView
89h: Entrée en mode protégé
64h: OS/2 API DOS32StartSession
16h: Windows & DPMI
0Ah: Détection de Windows
84h: Demande le point d'entrée
86h: Détection du mode DPMI
87h: Détecte l'installation DPMI
8Eh: Machine virtuel et application
Basic versus C
Jovial versus C
Préface
Notes légal
Dictionnaire
Recherche

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 :

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.


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Dimanche, le 28 juin 2015