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

Bibliothèque standard C Discussion :

Faire de la programmation avancée en C


Sujet :

Bibliothèque standard C

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 120
    Points : 109
    Points
    109
    Par défaut Faire de la programmation avancée en C
    Bonjour à tous.
    Ce post comprend trois préoccupations:
    * D'abord je connais depuis un certain temps les bases du langage C, donc je veux pousser un peu plus ma perfomance en créant des programmes réseaux, systemes, en tout des programmes avancés. Mais je veux utiliser des fonctions des bibliothèques stantards (natives du C). Seulement je sais pas comment faire pour connaitre ces fonctions et leurs fonctionnements. Mes recherches sur Google n'ont rien donné. Alors je souhaiterais que quelqu'un m'indique un moyen pour y parvenir.
    * Puis je voudrais aussi avoir des explications sur les paramètres passés à la fonction main() et leur importance.
    *Pour terminer j'aimerais changer mon nom de profil du site. Jusque là je n'y arrive pas. Car les modifications proposés dans le changement du profil ne comportent ceux pas du nom (enfin c'est ce que j'ai pu constaté).
    Merci de votre aide d'avance.

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 196
    Points : 17 165
    Points
    17 165
    Par défaut
    Pour la première partie, il s'agit de site de référence qu'il te faux.

    Par exemple, cppreference.com propose à la fois la référence du C++ (d'où le nom) et du C.
    Le site est à jour sur les normes C++11/14, C11 (et plus? je n'ai pas tout suivi )

    Pour avancer, il n'y a que deux solutions: écrire des programmes, et aider à écrire des programmes.
    Prends le temps de lire les questions qui se posent ici, et éventuellement, d'y apporter tes réponses.

    Une bonne possibilité d'apprentissage, c'est de faire les exercices des étudiants qui viennent.
    Il ne faut pas de leur donner ta réponse toute faite, car ce n'est pas les aider, mais tu peux leur exposer ta manière de voir le problème, essayer de réfléchir avec eux.


    Pour programmer, choisis toi un exercice à ta portée.
    Par exemple, pour le réseau, essaie d'écrire un programme de chat en console.
    Puis évolue vers l'écriture d'un client de messagerie type IRC (il est facile d'installer un serveur chez soi)

    Si à un moment tu te tournes vers le jeu, il faut faire très attention que le moindre jeu cache beaucoup de difficultées.

    Pour changer de pseudo, il faut contacter un administrateur.


    Concernant main, les arguments sont les paramètres donnés au programme quand tu le lance.
    En gros, l'int argc est le nombre d'arguments (dont fait partie le nom du programme lui-même) et le tableau de chaine char *argv[] est l'ensemble de ceux-ci.
    tout est expliqué sur cppreference.com.

  3. #3
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Citation Envoyé par Kouamé josué Voir le message
    D'abord je connais depuis un certain temps les bases du langage C, donc je veux pousser un peu plus ma perfomance en créant des programmes réseaux, systemes, en tout des programmes avancés. Mais je veux utiliser des fonctions des bibliothèques stantards (natives du C). Seulement je sais pas comment faire pour connaitre ces fonctions et leurs fonctionnements. Mes recherches sur Google n'ont rien donné. Alors je souhaiterais que quelqu'un m'indique un moyen pour y parvenir.
    Tu penses à un projet en particulier ? C'est difficile de devenir bon dans tous les domaines d'application du C, et surtout ça risque de te prendre un certain temps. Si la programmation réseau (Unix) en particulier t'intéresse, tu peux commencer par le guide de Beej qui est souvent le passage obligé des débutants.

    Parallèlement si tu désires devenir meilleur en général, le conseil à donner est le même que dans tous les domaines d'activités : codes, codes, codes, lis, apprends et codes encore. Bon courage.


    Citation Envoyé par Kouamé josué Voir le message
    Puis je voudrais aussi avoir des explications sur les paramètres passés à la fonction main() et leur importance.
    Que veux-tu savoir exactement ? La signature la plus courante est int main(int argc, char *argv[]), argc stockant le nombre d'argument (nom de l'exécutable compris) et argv stockant les arguments proprement dits sous forme de chaînes de caractères C (null-terminated). Il en existe d'autres pour récupérer des informations sur l'environnement d'exécution, certaines étant spécifiques à un système donné (non portables).


    Citation Envoyé par Kouamé josué Voir le message
    Pour terminer j'aimerais changer mon nom de profil du site. Jusque là je n'y arrive pas. Car les modifications proposés dans le changement du profil ne comportent ceux pas du nom (enfin c'est ce que j'ai pu constaté).
    Je pense qu'il faut que tu t'adresses directement à un modo voire à un administrateur pour prendre en charge cette demande.


    EDIT: grillé par leternel et +1 pour avoir mentionné une référence C (en l'occurrence le mal nommé mais très correct cppreference.com) même si ça ne remplace pas les pages de manuel du système cible. Attention à ne pas confondre C et C++ qui sont très différents.

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 120
    Points : 109
    Points
    109
    Par défaut
    Merci pour le site que vous m'avez proposé, à première vue, il me semble interessant. le seul point noir il est en Anglais.

    Que veux-tu savoir exactement ? La signature la plus courante est int main(int argc, char *argv[]), argc stockant le nombre d'argument (nom de l'exécutable compris) et argv stockant les arguments proprement dits sous forme de chaînes de caractères C (null-terminated). Il en existe d'autres pour récupérer des informations sur l'environnement d'exécution, certaines étant spécifiques à un système donné (non portables).
    Là je veux dire auriez-vous un cours à me proposer soit un fichier pdf car je ne comprends pas bien.
    Merci

  5. #5
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Citation Envoyé par Kouamé josué Voir le message
    Là je veux dire auriez-vous un cours à me proposer soit un fichier pdf car je ne comprends pas bien.
    Merci
    Compile le programme suivant :
    Code args.c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <stdio.h>
     
    int main(int argc, char *argv[]) {
        for (int i = 0; i < argc; ++i)
            printf("argv[%d]: '%s'\n", i, argv[i]);
     
        return 0;
    }

    puis exécute-le avec différentes listes d'arguments, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ ./args 1 2 3 test je_programme_en_C 45678

  6. #6
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 196
    Points : 17 165
    Points
    17 165
    Par défaut
    Pour l'anglais, tu n'as pas vraiment le choix, mais le vocabulaire utilisé est assez limité.

    Il existe une traduction (essentiellement automatique, donc erratique): fr.cppreference.com

  7. #7
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Je suis sûr que tu vas trouver ton bonheur ici: http://c.developpez.com/cours/?page=langage-c#langage-c

    Le site developpez.net est plein de ressources pour un grand nombre de langages, et pour le C particulièrement, de l'initiation à l'approfondissement en passant par les techniques de programmation, les bibliothèques, etc.

    Et pour le reste une présence régulière sur le forum permet de mettre en pratique, poser des questions sur les points qui restent obscurs ou te dépanner quand tu es bloqué sur un exercice.
    Bon courage et have fun!

  8. #8
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 577
    Points : 1 989
    Points
    1 989
    Par défaut
    Se passer de l'anglais est une mauvaise idée sachant que c'est la langue de prédilection de l'informatique.

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 120
    Points : 109
    Points
    109
    Par défaut
    Merci de votre aide et du conseil.

Discussions similaires

  1. faire tourner un programme C en background sous windows
    Par Filomenom dans le forum Windows
    Réponses: 10
    Dernier message: 17/02/2006, 18h16
  2. [TP7] Impossible de faire tourner un programme
    Par eleve88 dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 10/01/2006, 19h12
  3. faire attendre un programme qu'un événement se déclenche
    Par fabrisss dans le forum API standards et tierces
    Réponses: 20
    Dernier message: 21/10/2005, 15h34
  4. [Débutant] [Thread] Faire patienter un programme java....
    Par yoxx dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 25/09/2005, 12h36
  5. Comment faire patienter un programme ?
    Par JlouisI dans le forum Débuter
    Réponses: 4
    Dernier message: 03/03/2003, 11h11

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