/** * @ Author: JunkJumper * @ Link: https://github.com/JunkJumper * @ Copyright: Creative Common 4.0 (CC BY 4.0) * @ Create Time: 04-09-2020 11:43:11 * @ Modified by: JunkJumper * @ Modified time: 10-09-2020 11:46:13 * @ Description: code c produisant le même résultat qu'un ls. */ /// M311 - myls #include #include #include #include #include #include int main(int argc, char *argv[]) { DIR *dir; struct dirent *entry; struct stat attribut; int lesAtt; if (argc != 2) { fprintf(stderr, "Syntaxe : %s {le chemin}\n\n", argv[0]); exit(1); } dir = opendir(argv[1]); chdir(argv[1]); entry = readdir(dir); printf("%-10s %-5s %-30s %-30s\n", "Inode", "Type", "Nom de Fichier", "Stats inode"); while(entry != NULL) { lesAtt = stat(entry->d_name, &attribut); if(lesAtt == -1) { perror("Échec stat"); exit(2); } printf("%-10d %-5d %-30s %-30d\n", (int)entry->d_ino, entry->d_type, entry->d_name, attribut.st_ino); entry = readdir(dir); } closedir(dir); return 0; }