12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #define _DEFAULT_SOURCE
- #include <dirent.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <unistd.h>
- #include <string.h>
- #include "parser.h"
- #include "error.h"
- #include "color.h"
- void lsBasics(int argc, char* argv[]){
- char buffer[BUFFER_SIZE];
- struct dirent** contentsDir;
- struct stat info;
- char path[BUFFER_SIZE];
- int i = 0, nbFile;
- //Recuperation chemin actuel
- if (getcwd(buffer, sizeof (buffer)) == NULL) {
- addperror("Erreur getcwd()");
- return;
- }
- //Ouverture et lecture DIR
- /*if((path = opendir(buffer)) == NULL){
- addperror("Erreur opendir()")
- return;
- }*/
- //Recup la liste des fichiers dans le dossier courant
- nbFile = scandir(buffer, &contentsDir, 0, alphasort);
- if (nbFile < 0) {
- addperror("Erreur scandir()");
- return;
- }
- //Affiche les fichiers
- while(i < nbFile){
- strcpy(path, buffer);
- strcat(path, "/");
- strcat(path, contentsDir[i]->d_name);
- printf("%s\n", path);
- if(stat(path, &info) == ERR)
- addperror("Erreur stat");
- printf("%d %ld %s\n", info.st_mode, info.st_size, contentsDir[i]->d_name);
- i++;
- }
- return;
- }
- int main(int argc, char* argv[]){
- lsBasics(argc, argv);
- printf(RESET);
- }
|