bonjour,
Je voudrais ecrire quelques lignes de codes pour remplacer la commande ls sous linux, pour me passer de la commande
system("ls"); qui ne renvoi que 0 ou 1. Je pourrai ecrire system("ls > titi); et lire le résultat dans titi. Mais mon intention est d'utiliser >>>>
int fd;
char chemin [BUFSIZ] = "/usr/local/qui/va/bien";
char nom [BUFSIZ] = "";
if ((fd=open(chemin,O_RDONLY,0)==-1{
printf("erreur");
} else {
while(read(fd,(char *) &nom,BUFSIZ)>0) {
printf("%s",nom);
}
}
En fait read(fd,(char *) &nom,BUFSIZ) me renvoi toujours -1 et je ne fais jamais printf. L'ouverture avec open est bonne puisque le descripteur me renoi dans mon cas 8 et pas -1.
J'ai même utiliser la structure >>>>
strcut direct [ino_t d_ino, char d_name[BUZSIZ]};
struct direct tamp_rep;
et la lecture read(fd,(char *) & tamp_rep,BUFSIZ) me renvoi encore -1.
J'ai essayer pas mal d'autre chause sur le mode d'écritue avec ou sans (char *) avec ou sans & rien y fait.
Merci d'avance!!
Timy94