#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
/*Ouverture et listage du contenu du répertoire*/
int main(
void)
{
DIR *rep = opendir("/");
if(rep !=NULL)
{
struct dirent *lecture;
while ((lecture = readdir(rep)) !=NULL)
{
printf(
"'%s\n" , lecture->d_name);
}
}
/* Modification du nom du fichier en mode manuel*/
void main()
{
char oldname[80], newname[80];
printf(
"Nom du fichier actuel : " );
gets(oldname);
printf(
"Nouveau nom du fichier" );
gets(newname);
if(!(rename(oldname, newname) ==0))
fprint(stderr, "Erreur survenue pendant le changement de nom de %s.n\", oldname);
return 0;
}
/*Fin du changement de nom*/
/*Fermeture du repertoire*/
closedir (rep), rep=NULL;
}
return 0;
}
/*Copie des fichiers vers un dossier défini par l'utilisateur*/
int file_copy(
char *oldname,
char *newname);
void main()
{
char source[80], destination[80];
/*Demande les noms des fichiers source et de destination*/
printf
("nIndiquer le nom du fichier source : ");
gets(source);
printf
("nIndiquer le nom du fichier de destination : ");
gets(destination);
if (!(file_copy(source, destination) ==0))
fprintf (stderr, "Erreur au cours de la copie du fichier %s.n\", oldname);
return 0;
}
int file_copy(
char *oldname,
char *newname°
{
FILE *fold, *fnew;
int c;
/*Ouverture du fichier source en lecture, mode binaire.*/
if((fold = fopen(oldname, "rb")) == NULL)
return -1;
/*Ouverture du fichier destination en écriture, mode binaire.*/
if((fnew = fopen(newname, "wb")) ==NULL
{
fclose (fold);
return -1;
}
/*lire le fichier source octet par octet. Si on n'a pas atteint la fin
du fichier, écrire l'octet sur le fichier destination*/
while (1)
{
c=fgetc(fold);
if(feof(fold))
fputc(c, fnew);
else
break;
}
fclose (fnew);
fclose (fold);
return 0;
closedir(rep);
}
Partager