Je vais avoir des problèmes avec la ligne «si (S_IFDIR (de stbuf.st_mode)). Est-ce la bonne façon de tester un répertoire dans lequel se rouvrir? La fonction pour le moment semble bien faire pour 1 ou 2 boucles, puis échoue et les défauts de segmentation.Quelle est la bonne façon d'utiliser la fonction stat() pour tester si un DIRENT est un répertoire ou un fichier?
J'ai essayé ce qui suit et probablement plus que la condition. J'ai inclus la fonction entière parce que je suis préoccupé par le problème pourrait être ailleurs.
void getFolderContents(char *source, int temp){
struct stat stbuf;
int isDir;
dirPnt = opendir(source);
if(dirPnt != NULL){
while(entry = readdir(dirPnt)){
char *c = entry->d_name;
if(strcmp(entry->d_name, cwd) == 0 || strcmp(entry->d_name, parent) == 0){
}
else{
stat(entry->d_name, &stbuf);
printf("%i %i ", S_IFMT, stbuf.st_mode);
if(S_IFDIR(stbuf.st_mode)){ //Test DIR or file
printf("DIR: %s\n", entry->d_name);
getFolderContents(entry->d_name, 0);
}
printf("FILE: %s\n", entry->d_name);
}
}
closedir(dirPnt);
}
global Pour le look de réponse [ici] (http://stackoverflow.com/questions/7267295/how-can -i-copy-a-file-from-one-directory-to-another-in-cc/38588376 # 38588376). – te7