Ce chapitre aborde la manipulation des fichiers : lecture, écriture, modification. Les fichiers sont de type : texte, binaire. L’accès aux données se fait d’une manière séquentielle, ou bien d’une façon directe avec un calcul de déplacement.
Syntaxe :
Déclaration
nom_fichier : Fichier
FILE * nom_fichier ; //un pointeur sur le fichier
Opérations sur les fichiers
– Ouverture :
nom_fichier <- ouvrir (nom_physique, mode) mode [lecture, écriture, ajout]
nom_fichier = fopen(nom_physique, mode) ; mode ["r", "w", "a"]– Fermeture :
fermer (nom_fichier) fclose (nom_fichier)– Lecture des données :
lire (nom_fichier, nom_variable)
----------------------------------------
C et PHP : fgetc, fgets , fscanf, fread– Ecriture des données :
ecrire (nom_fichier, nom_variable)
----------------------------------------
C et PHP : fputc, fputs, fprintf, fwrite– Tester la fin du fichier :
fin_fichier (nom_fichier) [vrai, faux]
----------------------------------------
C et PHP : feof(nom_fichier)Consigne : Ecrire un algo, programmation C et développement PHP qui permet de lire un fichier texte et d’afficher son contenu ainsi que le nombre de caractères.
Algo : fichier
Déclaration
f : fichier
nomF : chaine
car : caractère
nb : entier
Début
Afficher ("Donner le nom de votre fichier :")
Saisir (nomF)
nb <- 0
f <- ouvrir (nomF, lecture)
tant que fin_fichier (f) = faux faire
lire (f, car)
afficher (car)
nb <- nb +1
fin tant que
fermer (f)
Afficher ("Le nombre de caractères contenus dans le fichier est de :", nb)
Fin fichier //A tester sur son appareil a l'aide d'un IDE C++
#include <stdio.h>
int main (){
FILE * f;
char nomF [50];
char car ;
int nb ;
printf ("Donner le nom de votre fichier : ");
scanf("%s", &nomF);
nb = 0;
f = fopen(nomF, "r");
while (!feof(f)) {
car = fgetc(f);
printf("%c", car);
nb ++;
}
fclose (f);
printf("Le nombre de caractères contenus dans le fichier est de : %d", nb);
return 0;
}//A tester sur son appareil avec une pile logicel type XAMPP
<!DOCTYPE html>
<html>
<head>
<title>Fichiers</title>
<meta charset="utf-8">
</head>
<body>
<div class="contenu-centre">
<h1>Exercice fichiers</h1>
<p>Saisissez le nom d'un fichier texte pour l'afficher à l'ecran ainsi que le nombre de caractéres qu'il contient</p>
<form method="post">
<label>Donnez le nom du fichier :</label>
<input type="text" name="nomF"><br/>
<input type="submit" name="afficher" value="afficher">
</form>
<?php
if (isset($_POST["nomF"])) {
$nomF= $_POST['nomF'];
$nb = 0;
$f = fopen($nomF,"r");
while(! feof($f) ){
$car = fgetc($f);
printf("%c",$car);
$nb++;
}
fclose ($f);
printf("Le nombre de caractéres contenus dans le fichier est de : %d", $nb);
}
?>
</div>
</body>
</html>Veuillez choisir un fichier texte afin de l’ouvrir et d’afficher le nombre de caractéres qu’il contient