Question sur le C

mumberea -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je viens de finir avec le gros de la théorie sur le langage C. Néanmoins, j'ai quelque préoccupations:
- je n'ai pas pus trouver de cours claire sur la création des fenêtre graphiques en langage C. Cela veut-il dire qu'il est quasi impossible d'en faire?
- je remarque que dans beaucoup d'exemple sur la toile la fonction main est écrite avec deux arguments: un entier et un pointeur sur un char, c'est à dire int main(int argc, char *argv[]). Je ne vois nul part où ces variable sont utilisés. Je suis même allé plus loin en écrivant des programmes en les omettant; ceux-xi ont bien fonctionnés. Donc?...A quoi sert ces arguments????

3 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    - je n'ai pas pus trouver de cours claire sur la création des fenêtre graphiques en langage C. Cela veut-il dire qu'il est quasi impossible d'en faire?
    Il ne s'agit plus vraiment de C. Il n'y a rien de portable en C. Il faut se diriger vers Qt, GTK+, l'api windows, ...

    Pour l'autre question, argc/argv permet de récupérer les arguments passés en paramètre du programme. Par exemple : nomProgramme 5 6, cela permetra de récupérer les valeurs 5 et 6 (argv[1]="5",argv[2]="6")
    Mais ce prototype du main n'est pas obligatoire. Tu peux très bien écrire : int main(void), si tu ne comptes pas utiliser cette fonctionnalité.

    Cdlt,
    0
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    Les interfaces graphiques peuvent bien sûr se faire en C, il y en a même beaucoup !
    Mais je ne sais pas vraiment dire lesquels sont les mieux...

    Sinon, les arguments de la fonction main sont :
    argc : le nombre de paramètres passés au programme
    argv : le tableau des paramètres passés au programme (argv[0] est le nom du programme)
    arge : le tableau des variables d'environnement (le dernier vaut NULL)

    Tu peux par exemple tester ce code :

    int main(int argc, char* argv[], char* arge[]) 
    { 
        int i;
        for (i=0; i<argc; i++)
            printf("%s\n",argv[i]);
        
        printf("\n");
        
        for (i=0; arge[i]!=NULL; i++)
            printf("%s\n",arge[i]);
        
        return 0;
    }
    La confiance n'exclut pas le contrôle
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      argc : le nombre de paramètres passés au programme
      Pas exactement. argc contient le nombre d'arguments + 1
      argv[0] est le nom du programme
      Ainsi que le chemin d'appel.
      arge : le tableau des variables d'environnement (le dernier vaut NULL)
      Ce n'est pas standard le troisième argument.

      Cdlt,
      0
  3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    créer des fenêtre graphique nécessite de communiquer avec l'OS. ça ne dépend pas uniquement du C.
    0