begin process at 2012 02 11 20:19:51
  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 Petite question sur if( x || y || z) [ par G0ss3Yn ] Bonjour, J'ai lu je ne sais plus où (ou en tout cas j'ai ça en tête) que le test [code=cpp]if( x || y || z) paf( ) ;[/code] est en fait la même chos Hook souris et Windows 7 64 bits [ par thenaoh ] Bonjour, Je cherche désespérément à faire fonctionner un hook souris basique réalisé en C++. Le hook doit fonctionner sous Windows 7 64 bits, où on p Traduction C [ par etudtelec ] Salut tous le monde, Je ne développe pas avec le langage C, je fais comme étude Réseaux Mais je viens devant une situation de réseaux et veux comprend probleme readfile sur port serie en overlapped [ par looloo78 ] Bonjour, je me permets de poster ce post concernant un programme pour lire sur le port COM1 ou 2. mais ca ne fonctionne pas, il se met automatiquemen [Jeu] Problème dans mon code [ par Baltronard ] Bonjour à toutes et à tous. Voila j'ai quelques petits soucis avec mon code en C (pas c++) pour la création d'un puissance 4. Il se trouve que ma fo comparer deux string [ par roubalist21 ] voici le code: [code=cpp]for(i=0;i<maxDF;i++) { for(j=1;j<(maxS+1);j++) { if(tabDF[i][j]!=NULL) { for(k=0;k<=fins;k++) { if(ta Probleme Fichier C++ [ par florianlens ] Bonjour, je dois modifier un code sous C++ Builder et j'ai un problème au niveau des fichiers [code=cpp]bool TUser::readFromFile(std::ifstream &iff) Limiter la commande Dir sous dos [ par TechLeader ] Bonjour, Voici mon souci: Je souhaite faire une recherche de fichier toute simple en batch Dos en utilisant la commande dir. En admettant que j'ai de


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,388 sec (3)

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