IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Programmation C sous linux


Sujet :

Linux

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : Bénin

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2014
    Messages : 1
    Points : 0
    Points
    0
    Par défaut Programmation C sous linux
    1) Le programme temp_file.c dont le code source est présenté ci-dessous contient
    les fonctions write_temp_file et read_temp_file cependant la fonction main est vide. Imaginez
    et écrivez des instructions dans main utilisant et illustrant une ou des utilisations possibles des
    fonctions ci-dessus citées.

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    #include <stdlib.h>
    #include <unistd.h>
    /* Handle sur un fichier temporaire créé avec write_temp_file. Avec cette implémentation, il s'agit d'un descripteur de fichier.
    */
    typedef int temp_file_handle;
    /* Écrit LENGTH octets de BUFFER dans un fichier temporaire. Unlink est appelé immédiatement sur le fichier temporaire.
    Renvoie un handle sur le fichier temporaire. */
    temp_file_handle write_temp_file (char* buffer, size_t length)
    {
    /* Crée le nom du fichier et le fichier. XXXXXX sera remplacé par des caractères donnant un nom de fichier unique. */
    char temp_filename[] = "/tmp/temp_file.XXXXXX";
    int fd = mkstemp (temp_filename);
    /* Appelle unlink immédiatement afin que le fichier soit supprimé dès que le descripteur sera fermé. */
    unlink (temp_filename);
    /* Écrit le nombre d'octets dans le fichier avant tout. */
    write (fd, &length, sizeof (length));
    /* Écrit des données proprement dites. */
    write (fd, buffer, length);
    /* Utilise le descripteur de fichier comme handle sur le fichier temporaire. */
    return fd;
    }
    /* Lit le contenu du fichier temporaire TEMP_FILE créé avec write_temp_file. La valeur de retour est un tampon
    nouvellement alloué avec ce contenu, que l'appelant doit libérer avec free.
    *LENGTH est renseigné avec la taille du contenu, en octets.
    Le fichier temporaire est supprimé. */
    char* read_temp_file (temp_file_handle temp_file, size_t* length)
    {
    char* buffer;
    /* Le handle sur TEMP_FILE est le descripteur du fichier temporaire. */
    int fd = temp_file;
    /* Se place au début du fichier. */
    lseek (fd, 0, SEEK_SET);
    /* Lit les données depuis le fichier temporaire. */
    read (fd, length, sizeof (*length));
    /* Alloue un buffer et lit les données. */
    buffer = (char*) malloc (*length);
    read (fd, buffer, *length);
    /* Ferme le descripteur de fichier ce qui provoque la suppression du fichier temporaire. */
    close (fd);
    return buffer;
    }
    int main (void)
     
    {
    }

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    • "bonjour"
    • il n'y a aucune question, ni sollicitation respectueuse, juste l’énoncé d'un exercice comme lancé au visage "tiens, fais moi ça"
    • on ne fait pas les exercices à ta place : qu'as-tu fait ?
    • ton code est illisible sans les balises appropriées
    • accessoirement ton post aurait plutôt trouvé sa place dans la section langage C
    • donc oui "y'a quelqu'un", mais on est pas des robots à ton service, va falloir revoir ta copie si tu veux qu'on t'aide

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    je confirme :
    • Bonjour
    • s'il vous plaît
    • merci
    et
    on ne fait pas les exercices.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Réponses: 14
    Dernier message: 09/11/2015, 20h20
  2. comment compiler un programme c sous linux?
    Par diengsallah dans le forum Linux
    Réponses: 11
    Dernier message: 13/09/2009, 08h57
  3. Réponses: 6
    Dernier message: 26/11/2008, 12h12
  4. programme simple sous linux
    Par v1nux dans le forum Langage
    Réponses: 15
    Dernier message: 03/04/2008, 23h15
  5. Programmation C sous linux
    Par cybername dans le forum Linux
    Réponses: 8
    Dernier message: 28/11/2006, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo