
 
LANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATIONLANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATION
« Structures de Stockage : Les FICHIERS - LANGAGE C »
!"#$"%&'#()**  +,
1. LA STRUCTURE DE « SUITE »
  *
-.



/011121!!!!!!13
4
!!
"#$!"

%$&
""%%"
         
'#()
     % %
  *&   
"%&!
%
+!%&,
" "
%!
-%!
$  &# "     
!"
$
)56)78*9
&"
2. OPERATEURS SUR LES « SUITES »
)78:' 
+%,"
%&%$%#
!#
%$/)8)7-6*1)8)7- .
  ../$
)#"$
"#7;86*!
&"#*,%$( 
%,#1<11=1<=1=1
0 <#%$&
#
0 # 0!- 
%$
0 #
%$
))8)7-71 .
.. ##
$
+7&#$$
"1'%)&
1(
″″
>?,?6)7!)
″″
*)8(@A@
& &   % @BC$&  D
@BEC$
8FBG-18FB8F18FB1%$-8 .
../2"
$
+!
%
8FB  <)8 G -1 8FB 8F1 8FB  1
%$-8 .
../8F!
##
%$-8 .../2##
$
    "   $ !   
"##
)*8%$-8 .6)7HI
8
+#-3
&
"


  %$ % , & 
""
3. FICHIERS DENTIERS
,:8*8 
4&
,"%&
5%$
!%%
%",
4       & 
06
%78) "
9!!9 "
9!!3:
+0
!
$I))>
;&"#<===
    =  >= 
"8!0
;  &  "   
%"?&"
)#
%&" @
;&""
&"
$I))>
))7-818 .
*-6)1-6)..
J
6)/81K<=K .
6)/81K<=K .
/.0/.== 
J
 // <L18F 116) .
 *8 <L18F 116) .
  M
)*86) .
)*86) .
M
1#!!"
%11!!!111!!!1"
=
≤≤
=
≤≤
1! 
A ;&"$
##N!"
NO=
≤≤
NOO/11!!!1=3B

 
LANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATIONLANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATION
« Structures de Stockage : Les FICHIERS - LANGAGE C »
!"#$"%&'#()**  +,
4. FICHIERS DE CARACTERES
$I))2>
A;&"#,
$
  & & "   "
%     %    
%&"
A;&"#,
$&&"#
!%%
"%)0#
'(
C$B)*GC$

+%##
"&%#8
)  &    +C" # 
##%
P)*08!74
GG 
J
%$-.
)7QRS/K888K.
)7QRS/K888K.
/KK1K<K .
1KT8?K1 .
1KT8?K1 .
1K?"(+C$@@A">()!!!K .
M
$I))R>
+%78) 
$"%!
    ,8  &   $
-%$%
$$
;&"#,
" % % ! %   !
%"%&
!,UL"%
%&UL%
4&&,UV
"
+%   , &    

81KT)T)TK1W1XY .
&
81KT)T)TK1W1W .
+%    &   

81KT)T)TK1W1RZ1 .
&
81KT)T)TK1W1RZ1B
$I))Z>
 $ # %
″″
-!'
″″
  % 
″″
-!:O
″″
 
#"&%,%,
,"&
5. OPERATEURS PERMETTANT UN ACCES
DIRECT SUR LES FICHIERS
+ 78) #"
,#
" 
8O%$-81*,81<7) .
..#$8!
80!2"
E7)         
#1;;DE1;7
#1;;DE 77

1;;DE;?F7##
G<%$-8 .
[7#2
$
<8"!8O81%1@$$#B@$ 
"G!H##
2"*"#
#
,8%$-818B-8 .
../2#$
88%$-81)88B-8 .
../#2#$
,8&#
$2A+
$2B
88        #
$+
!&$
2###
2!,)#
*,**%$-8 .
..2#$

$I))X>"
%%#""
*,6*8F%$-8 
J
*,)81*,7.
)8/**8 .
8O81%1@$$#B$" .
*,7/**8 .
8O81)81@$$#B@$ .
*,7.
M
6. MANIPULATION DES FICHIERS
'N$C&C'%$@,88 
+ &&  %, $ #  
%"$#/
4#&&
'("&"
#
? 6    # 

X!! 'C$&A"$'N$C@@C'C$@
X!!! I*,*:*
/* FIALEA.C -- CREATION DE FICHIER STRUCTURE
D’ELEMENTS */
#include <stdio.h>
#include <stdlib.h>
#include "fonchar.c" //le fichier "fonchar.c"
contient le corps des fonctions gencaralea()
et genstralea()
#define N 10

 
LANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATIONLANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATION
« Structures de Stockage : Les FICHIERS - LANGAGE C »
!"#$"%&'#()**  +,2
#define LP 15
#define LN 25
typedef struct
{
char nom[LN], prenom[LP];
int ds1,ds2,ds3, ds4;
float moy;
}Tetud, *Tptretud;
int main()
{
FILE *f;
int i,j;
Tetud * ptretud;
Tetud etud;
clrscr();
ptretud=(Tptretud) calloc(1,sizeof(Tetud));
if (ptretud==NULL)
{
printf("erreur d'allocation memoire");
return(1);
}
f=fopen("e:\\sysnk\\tpetud\\tc30\\doc\\essai1.
doc","wb+");
if (f== NULL)
{
printf("erreur de creation de fichier");
return(1);
}
for (i=0;i<N;++i)
{
genstralea(etud.nom,LN);
genstralea(etud.prenom,LP);
etud.ds1=rand()%21; etud.ds2=rand()%21;
etud.ds3=rand()%21; etud.ds4=rand()%21;
etud.moy=(float)(etud.ds1+etud.ds2+etud.ds3+et
ud.ds4)/4;
ptretud[0]=etud; // *ptretud=etud;
printf("%-25s%-
15s%6d%6d%6d%6d%8.2f\n",(*ptretud).nom,(*ptretu
d).prenom,
ptretud->ds1,ptretud-
>ds2,ptretud[0].ds3,ptretud[0].ds4,ptretud[0].m
oy);
fwrite(ptretud, sizeof(Tetud), 1, f);
}
rewind(f);
printf("\n..Lecture et affichage des elements
du fichier...\n\n");
while (fread(ptretud, sizeof(Tetud), 1, f))
{
printf("%-25s%-
15s%6d%6d%6d%6d%8.2f\n",(*ptretud).nom,(*ptretu
d).prenom,
ptretud->ds1,ptretud-
>ds2,ptretud[0].ds3,ptretud[0].ds4,ptretud[0].m
oy);
}
fclose(f);
getch(); return(0);
}
X!!! \I*,*:*
/* FIALE2.C -- CREATION DE FICHIER STRUCTURE
ET AFFICHAGE DES ELEMENTS LUS PAR BLOC */
#include <stdio.h>
#include <stdlib.h>
#include "fonchar.c" //le fichier "fonchar.c"
contient le corps des fonctions gencaralea()
et genstralea()
#define N 10
#define LP 15
#define LN 25
typedef struct
{
char nom[LN], prenom[LP];
int ds1,ds2,ds3, ds4;
float moy;
}Tetud, *Tptretud;
int main()
{
FILE *f;
int i,j;
Tptretud ptretud1,ptretud5;
Tetud etud;
clrscr();
ptretud1=(Tptretud) calloc(1,sizeof(Tetud));
ptretud5=(Tptretud) calloc(5,sizeof(Tetud));
if (ptretud1==NULL)
{
printf("erreur d'allocation memoire");
return(1);
}
f=fopen("e:\\sysnk\\tpetud\\tc30\\doc\\essai1.
doc","wb+");
if (f==NULL)
{
printf("erreur de creation de fichier");
return(1);
}
for (i=0;i<N;++i)
{
genstralea(etud.nom,LN);
genstralea(etud.prenom,LP);
etud.ds1=rand()%21; etud.ds2=rand()%21;
etud.ds3=rand()%21; etud.ds4=rand()%21;
etud.moy=(float)(etud.ds1+etud.ds2+etud.ds3+et
ud.ds4)/4;
*ptretud1=etud; /* ptretud1[0]=etud; */
printf("%-25s%-
15s%6d%6d%6d%6d%8.2f\n",(*ptretud1).nom,(*ptret
ud1).prenom,
ptretud1->ds1,ptretud1-
>ds2,ptretud1[0].ds3,ptretud1[0].ds4,ptretud1[0
].moy);
fwrite(ptretud1, sizeof(Tetud), 1, f);
}
rewind(f);
printf("\n..Lecture par bloc de 5 et affichage
des elements du fichier...\n\n");
while (fread(ptretud5, sizeof(Tetud), 5, f))
{ /*..lecture du fichier par bloc de 5
elements..*/
for (i=0;i<5;++i)
{
printf("%-25s%-
15s%6d%6d%6d%6d%8.2f\n",ptretud5[i].nom,ptretud
5[i].prenom,
ptretud5[i].ds1,ptretud5[i].ds2,ptretud5[i].ds
3,ptretud5[i].ds4,ptretud5[i].moy);

 
LANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATIONLANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATION
« Structures de Stockage : Les FICHIERS - LANGAGE C »
!"#$"%&'#()**  +,R
}
}
fclose(f);
getch(); return(0);
}
$I))W>
;&&"#
<=
)8
      J
>8,QS.
)*88>8,QRS.
>!!.
>!!.
;>*.
88> :*. - !  /1
*8/-
)*88>.
M
+I,
6&QZ!!S+)*88
112+8
Q!!S;*8]3*88
]*8
$I))8I))8)8 >
;&""
!
≥≥

;&"#
)#"

7. TRI DUN FICHIER
/* FICETRI.C -- GESTION DE FICHIER STRUCTURE
ET TRI SUR SES ELEMENTS */
#include <stdio.h>
#include <sys\stat.h> // bibliotheque contenant
des informations au sujet de fichier ou de
r‚pertoire
#include <stdlib.h>
#include "fonchar.c" //le fichier "fonchar.c"
contient le corps des fonctions gencaralea()
et genstralea()
#define LP 10
#define LN 20
typedef struct
{
char nom[LN], prenom[LP];
int ds1,ds2,ds3, ds4;
float moy;
}Tetud, *Tptretud;
typedef struct
{
char nom[LN];
unsigned long cpos;
}Tnoeud, *Tptrnoeud;
void triselect(Tptrnoeud l, int taille)
{
int k,j,min;
Tnoeud s;
for(k=0;k<taille;++k)
{
min=k;
for(j=k+1;j<taille;++j)
{
if (strcmp(l[j].nom,l[min].nom)<0) min=j;
}
s=l[min];
l[min]=l[k];
l[k]=s;
}
}
main()
{
FILE *f;
int i;
unsigned long N;
Tptretud ptretud;
Tetud etud;
Tnoeud lnoeud;
Tptrnoeud ptrtab;
struct stat statrecord;
clrscr();
ptretud=(Tptretud) calloc(1,sizeof(Tetud));
if (ptretud==NULL)
{
printf("erreur d'allocation memoire");
return(1);
}
if
((f=fopen("e:\\sysnk\\tpetud\\tc30\\doc\\essai3
.doc","wb+"))==NULL)
//... utilisation du fichier cree par un
aiutre programme <FICLISTL.C>
{
printf("erreur d'ouverture de fichier");
return(1);
}
//... utilisation du fichier cree par un autre
programme:<FICLISTL.C>
stat("e:\\sysnk\\tpetud\\tc30\\doc\\essai3.doc
",&statrecord);
//... calcul du nombre d'elements du fichier a
partir de la taille du fichier et de la taille
d'element <Tetud>
N=(statrecord.st_size)/sizeof(Tetud);
printf("Nombre d'elements = %lu\n...\n", N);
getch();
ptrtab = (Tptrnoeud) calloc (N,
sizeof(Tnoeud));
if (ptrtab==NULL)
{
printf("erreur d'allocation memoire");
return(1);
}
i=0;
while (fread(ptretud, sizeof(Tetud), 1, f))
{
printf("%-20s%-
10s%6d%6d%6d%6d%8.2f",ptretud->nom,ptretud-
>prenom,
ptretud->ds1,ptretud->ds2,ptretud-
>ds3,ptretud->ds4,ptretud->moy);
strcpy(ptrtab[i].nom, ptretud->nom);
ptrtab[i].cpos=i;
++i;
}
printf("\n...FICHIER INITIAL...\n");
for (i=0;i<N;i++)
printf("%-
20s%10lu\n",ptrtab[i].nom,ptrtab[i].cpos);
triselect(ptrtab, N); // TRI du tableau...
printf("\n...FICHIER TRIE ...\n");
for (i=0;i<N;i++)

 
LANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATIONLANGAGES DE PROGRAMMATION
LANGAGES DE PROGRAMMATION
« Structures de Stockage : Les FICHIERS - LANGAGE C »
!"#$"%&'#()**  +,Z
printf("%-
20s%10lu\n",ptrtab[i].nom,ptrtab[i].cpos);
printf("\n..BIEN SUCCES NON!!!");
getch(); return(0);
}
$I))Y8I))8)8 >
;&"
F4J
$I))8I)))8 >
;&"#"
 "  74      
#
8. CRYPTAGE DES FICHIERS
+&%#'#<(
 # '#>(    % %
-' ("%"#< #<
C#>
+%&!
0<#>C#<
+$C$K-0<$C$0
+:*\
)"H%&
0
* ."&,0
%9=:
,%
#$$& #
0
)%>
%8:*)7-)71)7 .!%
#")7#
")7
%8:*)7-)71)7 .!%
#")7#
")7
)&
%8:*)7-)71)7 .
 J
 *-6)1-6).
 '7).
6)/)71KK 
<7*^6) 
  J
)/,)6) .
  )/)=*.
))16) .
  M
)*86) .)*86) .
 M
%8:*)7-)71)7 .
 J
 *-6)1-6).
 '7).
6)/)71KK 
<7*^6) 
  J
)/,)6) .
  )/)3*.
))16) .
  M
)*86) .)*86) .
 M
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !