Download - Lire Ecrire File c2
-
8/16/2019 Lire Ecrire File c2
1/15
LIRE ET ÉCRIRE DANS DES FICHIERS
Ouvrir et fermer un fichier
#include
#include
1
2
Page 1 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
2/15
fopen : ouverture du fichier
FILE* fopen(const char* nomDuFichier , const char* modeOuverture) ;
int main( int argc , char *argv[])
{
FILE* fichier = NULL;
return 0;
}
1
1
2
3
4
5
6
Page 2 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
3/15
int main( int argc , char *argv[])
{
FILE* fichier = NULL;
fichier = fopen("test.txt", "r+");
return 0;
}
1
2
3
4
5
6
7
8
Page sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
4/15
fichier = fopen("dossier/test.txt", "r+");
fichier = fopen("C:\\Program Files\\Notepad++\\readme.txt", "r+");
1
1
Page sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
5/15
Tester l'ouverture du fichier
f!!o!e : fermer le fichier
fichier = fopen("/home/mateo/dossier/readme.txt" , "r+");
int main( int argc , char *argv[])
{
FILE* fichier = NULL;
fichier = fopen("test.txt", "r+");
if (fichier != NULL)
{
// On peut lire et écrire dans le fichier
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier test.txt");
}
return 0;
}
int fclose(FILE* pointeurSurFichier) ;
1
1
2
3
4
5
6
7
8
9
1
11
12
13
14
1516
17
18
1
Page 5 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
6/15
crire dans le fichier
fclose(fichier);
int main( int argc , char *argv[])
{FILE* fichier = NULL;
fichier = fopen("test.txt", "r+");
if (fichier != NULL)
{
// On lit et on écrit dans le fichier
// ...
fclose(fichier); // On ferme le fichier ui a été ouvert
}
return 0;
}
Diff rente m th de de ecture criture
1
1
23
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Page 6 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
7/15
fputc
fputs
int fputc(int caractere , FILE * pointeurSurFichier ;
int main( int argc , char *argv[])
{FILE* fichier = NULL;
fichier = fopen("test.txt", " ");
if (fichier != NULL)
{
fputc(' ', fichier) ; // criture du caract re
fclose(fichier);
}
return 0;
}
1
1
23
4
5
6
7
8
9
10
11
12
13
14
Page sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
8/15
fpr!!tf
char* fputs(const char* chaine , FILE * pointeurSurFichier) ;
int main( int argc , char *argv[])
{
FILE* fichier = NULL;
fichier = fopen("test.txt", " ");
if (fichier != NULL)
{
fputs("Salut les ér0s\nComment alle vous ", fichier) ;fclose(fichier);
}
return 0;
}
int main( int argc , char *argv[])
{
1
1
2
3
4
5
6
7
8
91
11
12
13
14
1
2
Page sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
9/15
ire dans un fichier
f!!tc
FILE * fichier = NULL;
int age = 0;
fichier = fopen("test.txt", " ");
if (fichier != NULL)
{
// On demande l' ge
printf(" uel age ave vous ");
scanf(" d", age);
// On l'écrit dans le fichier
fprintf(fichier, "Le Monsieur ui utilise le programme, il a d ans", age) ;
fclose(fichier);
}
return 0;
}
int fgetc(FILE* pointeurDeFichier) ;
3
4
5
6
7
8
9
1
11
12
13
14
15
16
17
18
19
20
1
Page sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
10/15
Coucou, e suis le contenu du fichier test.txt !
f!!ts
int main( int argc , char *argv[])
{
FILE* fichier = NULL;
int caractere ctuel = 0;
fichier = fopen("test.txt", "r");
if (fichier != NULL)
{
// oucle de lecture des caract res un un
do {
caractere ctuel = fgetc(fichier); // On lit le caract re
printf(" c", caractere ctuel) ; // On l'affiche
} hile (caractere ctuel != EOF) ; // On continue tant ue fgetc n'a pas retourné EOF (fin de
fichier)
fclose(fichier);
}
return 0;
}
char* fgets(char* chaine , int nbreDeCaracteres Lire , FILE * pointeurSurFichier ;
#define ILLE M 1000 // ableau de taille 1000
int main( int argc , char *argv[])
1
2
3
4
5
6
7
8
9
10
1112
13
14
15
16
17
18
19
20
21
1
1
2
3
Page 10 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
11/15
Coucou, e suis le contenu du fichier test.txt !
{
FILE* fichier = NULL;
char chaine[ ILLE M ] = ""; // Cha ne vide de taille ILLE M
fichier = fopen("test.txt", "r");
if (fichier != NULL)
{
fgets(chaine, ILLE M , fichier) ; // On lit maximum ILLE M caract res du fichier, on stoc e
le tout dans "chaine"
printf(" s", chaine) ; // On affiche la cha ne
fclose(fichier);
}
return 0;
}
#define ILLE M 1000
int main( int argc , char *argv[])
{
FILE* fichier = NULL;
char chaine[ ILLE M ] = "";
fichier = fopen("test.txt", "r");
if (fichier != NULL)
{
hile ( fgets(chaine, ILLE M , fichier) != NULL) // On lit le fichier tant u'on ne re oit pas
d'erreur (NULL)
{
printf(" s", chaine) ; // On affiche la cha ne u'on vient de lire }
fclose(fichier);
}
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1
2
3
4
5
6
7
8
9
10
11
12
13
1415
16
17
18
Page 11 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
12/15
fscanf
Les meilleurs scores sont : 15, 20 et 30
return 0;
}
hile ( fgets(chaine, ILLE M , fichier) != NULL)
int main( int argc , char *argv[])
{
FILE* fichier = NULL;
int score[ 3] = { 0}; // ableau des 3 meilleurs scores
fichier = fopen("test.txt", "r");
if (fichier != NULL)
{
fscanf(fichier, " d d d", score[0], score[1], score[2]);
printf("Les meilleurs scores sont : d, d et d", score[ 0], score[ 1], score[ 2]);
fclose(fichier);
}
return 0;
}
Se d cer d n un fichier
19
2
21
1
1
2
3
4
5
6
7
8
9
1
11
1213
14
15
16
17
Page 12 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
13/15
f!!!! : position dans le fichier
fs!!! : se positionner dans le fichier
long ftell(FILE* pointeurSurFichier) ;
int fsee (FILE* pointeurSurFichier , long deplacement , int origine) ;
fsee (fichier, 2, SEE SE ) ;
fsee (fichier, 4 , SEE CU ) ;
fsee (fichier, 0, SEE END) ;
1
1
1
1
1
Page 1 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
14/15
r!!!nd : retour au début
r!na!! : renommer un fichier
void re ind(FILE* pointeurSurFichier) ;
Ren mmer et u rimer un fichier
int rename(const char* ancienNom , const char* nouveauNom) ;
int main( int argc , char *argv[])
{
rename("test.txt", "test renomme.txt");
return 0;
}
1
1
1
2
34
5
6
Page 1 sur 15Lire et écrire dans des fichiers
16/12/2015https://openclassrooms.com/courses/apprenez-a-programmer-en-c/lire-et-ecrire-dans-...
-
8/16/2019 Lire Ecrire File c2
15/15
r!!!!! : supprimer un fichier
int remove(const char* fichier Supprimer) ;
int main( int argc , char *argv[])
{
remove("test.txt");
return 0;
}
J'ai terminé ce chapitre et je passe au suivant
1
1
2
3
4
5
6
Page 15 sur 15Lire et écrire dans des fichiers