Académique Documents
Professionnel Documents
Culture Documents
Exercice 2 : supprimer les caractres entre deux positions de chaque ligne dun fichier
int comp(char *ref,int ent1,int ent2)
{
int fd;
int i=0;
int j=0;
char c;
fd=open(ref,0);
if(fd<0)
{
perror("fichier inexistant\n");
return -1;
}
while((read(fd,&c,1))>0)
{
if(i<ent1)
{
printf("%c",c);
i++;
}
else
{
if(j<(ent2-ent1))
{
j++;
}
else
}
printf("%c",c);
}
printf("\n");
return 0;
close(fd);
}
main(int argc,char *argv[])
{
int n;
n=comp(argv[1],atoi(argv[2]),atoi(argv[3]));
}
Exercice 4 : afficher les lignes dun fichier en ordre inverse en les gardant inchanges
#include <string.h>
int inverse(char *ref)
{
int fd;
char c[1];
char ch[100][256];
int i=0;
int j=0;
int nb;
char a[1];
int l,k;
char nl[1]="\n";
k=0;
fd=open(ref,0);
if(fd<1)
{
perror("fichier inexistant");
return -1;
}
nb=read(fd,c,1);
while(nb>0)
{
ch[i][j]=*c;
if((ch[i][j])=='\n')
{
i++;
j=0;
}
else
{
j++;
}
nb=read(fd,c,1);
}
for(k=i;k>=0;k--)
printf("%s",ch[k]);
close(fd);
return 0;
{
}
printf("ouverture de %s impossible\n",argv[2]);
{
perror("erreur");
return 0;
}
aux=(st.st_mode & 0xe000);
if(aux==0x4000)
{
return -1;
}
else
return 0;
}
main(int argc,char *argv[])
{
int n;
n=catalog(argv[1]);
if(n==-1)
printf("%s est un repertoire\n",argv[1]);
else
printf("%s est un fichier\n",argv[1]);
}