• [^] # Re: System

    Posté par . En réponse au message ecrire la liste des processus utilisateurs dans un fichier texte. Évalué à 2.

    >J'ai utilisé un malloc pour allouer de la mémoire au struct, mais y'a pleins d'erreurs. j'essaye encore.

    Pas besoin de malloc! A mon avis, le code que je t'ai donné est "sale", c'est-à-dire qu'il n'est pas codé proprement (par exemple, le chemin "/proc" ne devrait pas s'y trouver en dur, mais faire l'objet d'un #define, lui aussi), mais il est parfaitement fonctionnel.

    En revanche, il faut que tu effectues les #include nécessaires, et je pense que c'est ça que tu as oublié. Ces #include sont décrits en détail en haut des pages de "man" correspondant aux appels système employés, ici stat() (et sprintf(), même si ce n'est pas un vrai appel-système).

    "man 2 stat" donne :
     #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>

    ("man 2 stat", parce que man stat, c'est juste pour la commande shell "stat").

    Pour sprintf, il faut sans doute ajouter #include <stdio.h> , et peut-être #include <string.h> (je n'ai pas de man 3 installé, actuellement, or sprintf est décrite dans une page de la section 3 du man, donc je ne suis pas sûr).

    Sache aussi que ces #include doivent être placés au tout début de ton fichier.

    En conclusion, si tu es débutant en C, sache que les pages de man, man 2 et man 3 surtout, sont particulièrement utiles à la programmation dans ce langage. Même si leur lecture, au début, est fastidieuse...