MagPI 5 Page 22

De Le French MagPi
Aller à : Navigation, rechercher

Les pointeurs peuvent aussi être utilisés avec des tableaux,

(début de code)

  • #include <stdio. h>
  • int main() {
  • int i , *p, arr[4] = {6, 2, 4, 7};
  • p = &arr[0] ; /* Assigne à p l'adresse du premier élément */
  • for(i=0; i<(sizeof(arr)/sizeof(int)); i++) {
  • printf("arr[%d] =%d\n" , i , *p);
  • p++; /* Incrémente l'adresse de sizeof(int) */
  • }
  • return 0; /* Retourne succès au système d'exploitation. */
  • }

(fin de code)

Le nom d'un tableau est également un pointeur. Un tableau peut donc être modifié dans une fonction avec,

(début de code)

  • void changeArray(int *p, unsigned int n) {
  • int i ;
  • for(i=0; i<n; i++) p[i ] = i ;
  • }
  • int main() {
  • int arr[4] = {0, 0, 0, 0};
  • changeArray(arr, 4);

(fin de code)

Ligne de commande

Les arguments de la ligne de commande peuvent être exploités grâce à l'utilisation d'une autre forme de la fonction main,

(début de code)

  • #include <stdio. h>
  • int main(int argc, char *argv[] ) {
  • int i ;
  • for(i=0; i<argc; i++) { /* Boucle sur tous les arguments */
  • printf("argv[%d] = %s\n" , i , argv[i ] ); /* Affiche chacun des arguments */
  • }
  • return 0;
  • }

(fin de code)

Les arguments sont passés sous la forme d'un tableau de chaînes, chaque chaîne étant un tableau de caractères. Essayez ce programme en l'exécutant avec quelques paramètres sur la ligne de commande, c'est-à-dire :

./ligneCommande unArg autreArg

Fichiers

Au lieu de lire à partir du clavier ou d'écrire sur l'écran, il est souvent nécessaire de lire ou écrire des fichiers enregistrés sur disque dur ou carte-mémoire. Les accès aux fichiers peuvent se faire en mode ASCII ou binaire. Seul le mode ASCII sera abordé dans ce tutoriel. Avant de pouvoir ouvrir un fichier il faut déclarer un pointeur FILE,

(début de code)

  • FILE *filePtr = 0; /* Déclare un pointeur de fichier et le fixe à null */

(fin de code)

Le fichier peut ensuite être ouvert en lecture "r" (read) ou en écriture "w" (write). Par exemple, pour écrire dans un fichier appelé textFile.txt :

(début de code)

  • filePtr = fopen(" textFile.txt" , "w" ); /* Ouvre textFile.txt en écriture */

(fin de code)

Si l'appel à fopen échoue, le pointeur FILE sera alors défini à null. Une fois le fichier ouvert, il est possible d'y accéder grâce à des commandes très semblables à celles utilisées pour lire depuis le clavier ou écrire vers l'écran,

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils