Reescribir ls (linux) en c

bibounder -  
Sugel Mensajes publicados 4293 Fecha de registro   Estado Miembro Última intervención   -
Hola,
tengo un proyecto que realizar, con el objetivo de volver a codificar el comando "ls" que se encuentra en Linux.
Está bien, este tema ya ha sido tratado en otros foros, pero el problema es que no tenemos derecho a utilizar printf, scanf y todas las demás funciones que nos facilitarían la vida.
No sé absolutamente por dónde empezar. Gracias de antemano.

4 respuestas

  1. fiddy Mensajes publicados 441 Fecha de registro   Estado Colaborador Última intervención   1 847
     
    Hola,

    Deberías ver exactamente a qué tienes derecho...
    ¿Funciones del sistema (como read())? ¿Algunas funciones estándar (como fread())?
    Etc.
    Saludos,
    --

    Google es tu amigo
    0
  2. sambia39 Mensajes publicados 610 Fecha de registro   Estado Miembro Última intervención   50
     
    Buenas noches
    Para comenzar, "LS" no es una función sino un programa que se utiliza para listar un directorio y que toma argumentos; si otras funciones están prohibidas, entonces puedes utilizar write, por ejemplo.

    --
    Todo conocimiento es una respuesta a una pregunta.
    0
    1. fiddy Mensajes publicados 441 Fecha de registro   Estado Colaborador Última intervención   1 847
       
      Nadie dijo que ls era una función ;-).
      Luego hay que ver si fwrite() o write() están permitidos...
      Y otros también como readdir() y compañía.
      0
    2. sambia39 Mensajes publicados 610 Fecha de registro   Estado Miembro Última intervención   50
       
      No está mal :-)
      pero bueno, si solo se trata de printf y compañía, el resto está autorizado.
      0
    3. fiddy Mensajes publicados 441 Fecha de registro   Estado Colaborador Última intervención   1 847
       
      Todo depende de lo que entienda por "compañía"... Pienso especialmente en las funciones del sistema.
      0
    4. sambia39 Mensajes publicados 610 Fecha de registro   Estado Miembro Última intervención   50
       
      Entonces, si este es el caso, pasemos por la función
       int printk() 

      pero atención, esta está reservada para el sistema mismo, el núcleo, los controladores, etc.
      0
    5. fiddy Mensajes publicados 441 Fecha de registro   Estado Colaborador Última intervención   1 847
       
      Si las funciones del sistema están permitidas, entonces usa la función write() que tiene el mérito de ser POSIX. De ahí mi primer post :-))).
      0
  3. Sugel Mensajes publicados 4293 Fecha de registro   Estado Miembro Última intervención   728
     
    Tú, ¡estás en epitech, tú!

    Empieza por recodificar getchar y putchar, funciones que te permiten respectivamente obtener y mostrar un carácter.

    Luego, busca en las API del sistema, para listar un directorio.

    Finalmente, tendrás que trabajar con estructuras y listas enlazadas...

    ¡Te dejo buscar!

    --
    ------------------------------------------------------------------------------------
    "El miedo lleva a la ira. La ira lleva al odio. Y el odio ... lleva al sufrimiento." - Yoda
    0
  4. Thomato87 Mensajes publicados 117 Estado Miembro 16
     
    A Epitech ya han entregado este tema, creo que es más bien de 42 ;)
    0
    1. Sugel Mensajes publicados 4293 Fecha de registro   Estado Miembro Última intervención   728
       
      ¡Posible!
      0