Recoder ls (linux) en c

Bonjour,
j'ai un projet a réaliser, le but étant de recoder la commande "ls" présent sous linux.
OK ce sujet a déjà été traiter dans d'autres topics, mais le problème c'est que nous n'avons pas le droit d'utiliser printf, scanf et toutes les autre fonction qui nous simplifierais la vie.
Je ne sais absolument pas par où commencer. Merci d'avance.

4 réponses

  1. A Epitech on a déjà rendu ce sujet, je pense qu'il est plutôt de 42 ;)
    0
    1. possible !
      0
  2. Toi, tu est à epitech, toi !

    commence par recoder getchar et putchar, fonctions qui te permettent respectivement d'obtenir et d'afficher un caractère.

    Puis, cherche du côté des API système, pour lister un dossier.

    Enfin, il faudra bosser avec des structures et listes chaînées ...

    Je te laisse chercher !
    0
    1. Bonsoir
      Pour commencer "LS" n'est pas une fonction mais bien un programme que l'on appelle pour lister un répertoire et qui prend des arguments et si d'autre fonction vous sont interdite alors vous utiliser write par exemple
      0
      1. Contributeur
        Personne a dit que ls était une fonction ;-).
        Après faut voir si fwrite() ou write() est autorisé...
        Et d'autres aussi genre readdir() et Cie.
        0
      2. Pas faut :-)
        mais bon si c'est juste printf et compagnie à ne pas utilise le reste est autoriser
        0
      3. Contributeur
        Tout dépend de ce que comprend "compagnie"... Je pense notamment aux fonctions système
        0
      4. Alors si c'est le cas passons par la fonction
        int printk()
        

        mais attention celle-ci est pour réserver pour le système lui-même ont le noyau les driver etc.
        0
      5. Contributeur
        Si les fonctions systèmes sont autorisées, alors utiliser la fonction write() qui a le mérité d'être POSIX. D'où mon tout premier post :-))).
        0
    2. Contributeur
      Bonjour,

      Il faudrait voir exactement ce à quoi tu as le droit...
      Fonction système (genre read()) ? Quelques fonctions standard (genre fread()) ?
      Etc.
      Cdlt,
      0