begin process at 2010 02 10 03:11:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Fichier & Disque

 > 

simulation de la fonction find sous unix


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

simulation de la fonction find sous unix

mercredi 19 décembre 2007 à 14:12:56 | simulation de la fonction find sous unix

azerty22_2

je voulais crée un petite programme en C sous unix qui simule la commande find avec ces option ("-perm","-name","-size").j'ai trouver des probléme pour parcourir les sous repertoire même dans certain cas pour l'identifier .
voici mon code pour l'option -perm :

#include<stdio.h>

#include<dirent.h>

#include<stdlib.h>

#include<unistd.h>

#include<sys/stat.h>

#include<ctype.h>

#include<errno.h>

#include<stdlib.h>

#include<sys/types.h>

void option_perm(char *perm,char *rep,int DIR)

{

int perm1=0;

int test=0;

int DIR1;

struct dirent *dir,*dir1;

struct stat *st;

if(isdigit(perm[0]))

{

perm1=atoi(perm);

if(perm1>=0&&perm1<=777)

{

st=malloc(sizeof(struct stat));

dir=malloc(sizeof(struct dirent));

dir1=malloc(sizeof(struct dirent));

while((dir=readdir(DIR))>0)

{

test=0;

stat(dir->d_name,st);

if(st->st_mode & S_IRUSR)

test+=400;

if(st->st_mode & S_IWUSR)

test+=200;

if(st->st_mode & S_IXUSR)

test+=100;

if(st->st_mode & S_IRGRP)

test+=40;

if(st->st_mode & S_IWGRP)

test+=20;

if(st->st_mode & S_IXGRP)

test+=10;

if(st->st_mode & S_IROTH)

test+=4;

if(st->st_mode & S_IWOTH)

test+=2;

if(st->st_mode & S_IXOTH)

test+=1;

if(perm1==test)

{

printf("%s/%s\n",rep,dir->d_name);

}

if(strcmp(dir->d_name,"..")!=0)

{

if(S_ISDIR(st->st_mode)==1)

{

if((DIR1=opendir(dir->d_name))>0)

{

option_perm(perm,dir->d_name,DIR1);

}

}

}

}

}

else

perror("erreur");

}

else

perror("erreur");

}

int main(int argc,char *argv[])

{

int DIR;

if((DIR=opendir(argv[1]))>0)

option_perm(argv[2],argv[1],DIR);

else

perror(argv[1]);

return 0;

}
si il existe un personne qui peux m'aide ,il me donne une solution est merci.



Cette discussion est classée dans : test, mode, dir, st, if


Répondre à ce message

Sujets en rapport avec ce message

comment faire un #if "debug/release mode" [ par nord666 ] Salut à tous et à toutes,Je me demande si c'est possible de pouvoir faire quelque chose du genre(j'utilise visual studio 8.0):#if (le mode dans lequel très urgent: commande ls-l [ par SAADOULI ] bj a tous: voila une implémentation de ls -l en c qui n'est pas complète il ya quelques erreurs au niveau l'affichage des droits d'accés..... est ce q fonction avec 2 test [ par flowneo ] Bonjour, Je voudrais faire une fonction qui contient 2 conditions (2 test à faire), je vous explique: Une fonction test qui va vérifier que la s Simple Hook (DLL) qui plante GetMessage ! Je suis nul ou quoi ? [ par dam1dam1 ] Bonjour. Je ne suis pas un pro du Hook et j’ai un peu oublié tout ca, mais vu toutes les bonnes sources et annotations qui trônent ici, je pensais po pbm recursivite pr supression groupe lettre ds tableau ( LETTER BREAKER) LANGAGE C [ par nawakkkkk ] hello j ai besoin d'aide svp j'ai réalise un lettre breaker (o lieu des bulles c des lettres) et j'arrive pas a sélectionner le groupe de même lettre Conversion de vecteurs de test [ par devc26 ] Bonjour, mon problème concerne la conversion d'un fichier de vecteurs (environs 2000lignes). Typiquement la conversion doit être de cette forme:avant besoin d'aide pour mon if, il ne fonctionne pas ...? [ par flowneo ] bonjour, un petit problème dans ma boucle if, je voudrais comparer chaque lettre de la chaine du Joueur2 à celles du Joueur1: for (i=0;i>bienPlace[i Problème segmentation [ par s2pawn ] Bonjour je travail sur un jeu d'echecs en c++ variante alice, et je rencontre un probleme de segmentation avec le pion, la vérification du mouvement besoin d'aide sur mon programme arbre binaire en c++ [ par biyiha ] bonjour, voici mon code ecrit en c++ c++ qui m'affiche pleins d'erreur;; il s'agit des arbres binaires de recherche , quelqu'un pourrait -il m'aider, Empêcher saisie d'un doublon [ par jmmichelin21 ] Bonjour, [b]La demande :[/b][u][/u] je souhaite empêcher la saisie de doublon dans les cellules d'une colonne présent dans une colonne d'une autre feu


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales