Obligement - L'Amiga au maximum

Samedi 22 juillet 2017 - 12:43  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Programmation : C - la commande Copy
(Article écrit par Roméo Rapido et extrait d'A-News (Amiga News) - mars 1989)


Commande Copy/CP

Voici un petit exemple d'utilisation du système de fichiers sous AmigaDOS. Votre mission, si vous l'acceptez, consistera à écrire la commande Copy, nous l'appelons CP entre nous, et non pas à copier la commande écrire.

Syntaxe :

CP fichier1 fichier2

ou bien...

CP fichier1

"CP fichier1 fichier2" recopie le contenu du fichier1 dans le fichier2 alors que "CP fichier1" affiche le contenu du fichier à l'écran (équivalent de la commande "Type").

Les commentaires sont entre /* commentaires */ et sont ignorés : vous n'avez donc pas besoin de les taper.

Commande Copy
Commande Copy
Commande Copy

Nouvelles instructions

fprintf : équivalent de printf mais dans un fichier spécifié (ici la sortie standard des messages d'erreurs stderr). Syntaxe :

fprintf(file descriptor, format)

Remarquez que la syntaxe de printf est :

printf(format)

open : ouverture d'un fichier. Syntaxe :

fd = open(nom, mode)

...où "nom" est un pointeur vers la chaîne de caractères qui contient le nom du fichier et "mode" le mode d'ouverture.

Si il y a une erreur, "open" retourne "-1", sinon il retourne le numéro du canal alloué, "fd" est le numéro du canal ou "-1".

Différents modes :
  • O_RDONLY : lecture uniquement.
  • O_WRONLY : écriture uniquement.
  • O_RDWR : lecture et écriture.
  • O_APPEND : ajout en fin de fichier.
  • O_CREAT : si le fichier n'existe pas, il est créé.
  • O_TRUNC : le fichier est tronqué à la longeur 0.
  • O_EXCL : si le fichier est ouvert avec O_EXCL et O_CREAT et qu'il existe déjà, "open" retourne "-1".
Pour sélectionner plusieurs de ces modes, utilisez le symbole "|" qui est le "ou logique". Exemple : open("mon_fichier",0_EXCL|O_CREAT).

creat : création d'un fichier. Syntaxe :

fd=creat(nom,mode)

Différents modes :
  • S_IWRITE : écriture.
  • S_IREAD : lecture.
  • 0 : lecture et écriture.
  • fd contient le numéro du canal ou "-1" si erreur.
close : ferme un fichier ouvert avec "open". Syntaxe :

close(file descriptor)

read : lecture dans un fichier. Syntaxe :

nblu=read(file descriptor, tampon, taille du tampon)

...où "tampon" (buffer) est un pointeur vers un tampon, "nblu" est le nombre de caractères lus par "read".

write : écriture dans un fichier. Syntaxe :

nbec=write(file descriptor, tampon, taille du tampon)

...où "tampon" est un pointeur vers un tampon, "nbec" est le nombre de caracteres écrits.

Et voilà, il ne vous reste plus qu'à copier et recopier les fichiers qui vous intéressent. Sur ce à très bientôt pour la suite de nos aventures palpitantes.

PS : si vous utilisez un Aztec C, il suffit de changer O_RDONLY par "r" et S_IWRITE par "w" et le tour est joué, vous pouvez aussi chercher dans le manuel ou les includes quels sont les noms des drapeaux correspondants a ceux du Lattice.


[Retour en haut] / [Retour aux articles]