Partage
  • Partager sur Facebook
  • Partager sur Twitter

zBlocnote

Exercice Langage C

    2 novembre 2012 à 14:35:32

    Mois : Novembre
    Sujet : Manipulation de fichier (M@teo21)
    Centralisation des exercices en c : ici

    zBlocnote



    Bonjour, je propose un exercice qui est de créer un éditeur de texte en console.

    Niveau 1



    On indique le chemin du fichier à ouvrir (il sera crée s'il n'existe)
    On pourra alors rajouter plusieurs texte à la fin du fichier.
    On affiche ensuite sur la console le texte en fonction des modification.
    On quitte la console en appuyant une touche


    Chemin du fichier : test.txt

    Saisissez / pour quitter
    Salut !
    > Comment allez vous ?

    Saisissez / pour quitter
    Salut !
    Comment allez vous ?
    > /



    Niveau 2



    On pourra indiquer l'endroit précis (ligne, lettre) où placer le curseur (/c).
    On insère le texte qu'on a saisi à partir du curseur.
    On affichera ensuite à l'écran l'emplacement du curseur et le texte en fonction des modifications.
    On changera de position le curseur en appuyant une touche et une autre pour quitter


    Saisissez /c pour replacer le curseur et / pour quitter
    Salu|t !
    Comment  vous ?
    Bien, j'espere !
    > /c
    ligne : 2
    lettre : 8

    Saisissez /c pour replacer le curseur et / pour quitter
    Salut !
    Comment | vous ?
    Bien, j'espere !
    > allez

    Saisissez /c pour replacer le curseur et / pour quitter
    Salut !
    Comment allez| vous ?
    Bien, j'espere !
    > /

    test.txt :
    Salut !
    Comment allez vous ?
    Bien, j'espere !


    Pour déplacer le curseur utiliser fgetpos et fsetpos

    char s[100];
    fpos_t pos;
    FILE* fp = NULL;
    fp = fopen("txt.txt", "r+");
    fgets(s, sizeof(s), fp); // lecture d'une ligne
    fgetpos(fp, &pos);   // enregistre la position
    fgets(s, sizeof(s), fp); // lecture d'une autre ligne
    fsetpos(fp, &pos);   // se déplace à la position enregistre
    fclose(fp);
    


    Niveau 3



    On rajoute des fonctions en plus à notre bloc note
    - Possibilité d'enregistrer les modification (/0) , d'enregistrer sous un autre fichier (/1) ou d'annuler les modifications (/2), puis quitte la console (remplace / du niveau 1 et 2)
    - copier (/3) ou couper (/4) une zone de texte puis la coller
    - supprimer (/5) un nombre de caractère, et (/s) pour tout supprimer (fichier vierge)

    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /c replacer le curseur
    Salut !
    Comment |allez vous ?
    Bien, j'espere !
    > /4
    nombre de lettre : 6
    ligne : 3
    lettre : 6

    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /c replacer le curseur
    Salut !
    Comment vous ?
    Bien, allez |j'espere !
    > /5
    nombre de lettre à supprimer : 5

    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /c replacer le curseur
    Salut !
    Comment vous ?
    Bien, allez |ere !
    > /1
    chemin du nouveau fichier : test2.txt


    Niveau 4



    - annuler (/6) ce qu'on vient de saisir (2 saisie voire plus sont retenu)
    - suivant (/7) remettre ce qu'on vient d'annuler
    - recherche (/8) pour placer le curseur sur le texte à recherche
    - remplacer (/9) un texte par un autre


    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /6 annuler /7 suivant
    /c replacer le curseur /8 recherche /9 remplacer
    Salut !
    Comment vous ?
    Bien, allez |ere !
    > /6

    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /6 annuler /7 suivant
    /c replacer le curseur /8 recherche /9 remplacer
    Salut !
    Comment vous ?
    Bien, allez |j'espere !
    > /8
    texte a recherche : ment

    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /6 annuler /7 suivant
    /c replacer le curseur /8 recherche /9 remplacer
    Salut !
    Comment| vous ?
    Bien, allez j'espere !
    > /9
    texte a recherche : vous
    texte a remplacer : tu

    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /6 annuler /7 suivant
    /c replacer le curseur /8 recherche /9 remplacer
    Salut !
    Comment| tu ?
    Bien, allez j'espere !
    >



    Bonus : Améliorer la selection du texte (copier, couper, supprimer)
    Au lieu d'écrire le nombre de caractère à sélectionner, on écrit une nouvelle position pour le curseur et tout les caractères entre l'ancienne et la nouvelle position sont sélectionner


    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /6 annuler /7 suivant
    /c replacer le curseur /8 recherche /9 remplacer
    S|alut !
    Comment allez vous ?
    Bien, j'espere !
    > /3
    copier jusqu'a
    ligne : 2
    lettre : 7
    coller
    ligne : 3
    lettre : 5

    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /6 annuler /7 suivant
    /c replacer le curseur /8 recherche /9 remplacer
    Salut !
    Comment allez vous ?
    Bien,alut !
    Comment| j'espere !
    >



    Bonus 2 : Pourquoi ne pas permettre à notre programme d'ouvrir plusieurs fichier simultanément ?
    On pourra alors modifier chaque fichier, copier du texte du fichier 1 et coller dans le fichier 2...


    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /6 annuler /7 suivant
    /c replacer le curseur /8 recherche /9 remplacer
    -- Fichier 1 --
    Salut !
    Comment| allez vous ?
    -- Fichier 2 --
    Comment
    > /3
    nombre de lettre : 6
    fichier : 2
    ligne : 1
    lettre : 7

    Saisissez 
    /0 enregistrer /1 enregistrer sous /2 ne pas enregistrer 
    /3 copier /4 couper /5 supprimer /s tout supprimer
    /6 annuler /7 suivant
    /c replacer le curseur /8 recherche /9 remplacer
    -- Fichier 1 --
    Salut !
    Comment allez vous ?
    -- Fichier 2 --
    Comment allez|
    >

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      2 novembre 2012 à 19:21:48

      1. lis ça
      2. Sujet mal expliqué
      3. Peu de niveau
      4. Manque de bonus
      5. Orthographe
      6. Il y a déjà un sujet pour ce mois
      7. Tu pourrais donner un lien vers des tutos pour la manipulation des fichiers

      beaucoup de choses à re dire dessus ;)
      • Partager sur Facebook
      • Partager sur Twitter
        2 novembre 2012 à 20:48:44

        Ben moi je trouve que c'est le plus interessant des exercices proposés récemment.
        Mais je suis d'accord, il n'est pas très bien expliqué.

        Je ferais peut être le niveau 1...


        Citation : tib92

        3. Peu de niveau
        4. Manque de bonus

        :lol::lol::lol:
        • Partager sur Facebook
        • Partager sur Twitter
          2 novembre 2012 à 22:12:01

          niveau 3, 4 et deux bonus rajouté
          • Partager sur Facebook
          • Partager sur Twitter
            3 novembre 2012 à 10:45:11

            Citation : KiwiMoar

            Citation : tib92

            3. Peu de niveau
            4. Manque de bonus

            :lol::lol::lol:


            Fan.

            • Partager sur Facebook
            • Partager sur Twitter
              3 novembre 2012 à 11:09:21

              On devrait peut-être créer un topic « discussion autour des exercices », ou utiliser le topic principal pour s'organiser, non ?

              Je veux dire, c'est cool que les gens écrivent et proposent des exercices, mais dans ce cas, autant s'organiser un minimum. En 2011, on avait un stock d'exercices, et on en sortait un par mois. Quand quelqu'un avait une idée d'exercice, il la rajoutait dans le stock, ce qui permettait de gérer le truc facilement. Ça évite que chacun poste son exercice de son côté, et donc qu'on ait deux exercices le même mois.

              Enfin, si c'est pour vous entre-tuer, faites plutôt ça par MP.

              Rendez-vous là : http://www.siteduzero.com/forum-83-742 [...] nts-en-c.html pour continuer la discussion.
              • Partager sur Facebook
              • Partager sur Twitter
              J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
                3 novembre 2012 à 12:30:44

                Rassures-toi, il n'y en a que 2, a quelques minutes/heures près yen avait 3 ! :lol:
                • Partager sur Facebook
                • Partager sur Twitter
                  3 novembre 2012 à 15:16:17

                  Citation : GuilOooo

                  Ça évite que chacun poste son exercice de son côté, et donc qu'on ait deux exercices le même mois.

                  Je ne veux pas paraître pessimiste ou rabat-joie, mais quand on en voit le nombre de participations (quasi-inexistantes, voir nulles) des derniers exos...
                  Je veux dire, il risque pas d'y avoir de la concurrence entre les exos pour piquer les participants des autres.

                  Pour moi le problème ne vient pas tellement de la qualité et de la présentation des sujets, mais du choix des sujets et des thèmes abordés. Je les trouve peu motivants.

                  PS : J'aurais peut être dû poster dans l'autre topic.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    3 novembre 2012 à 19:50:43

                    Salut à tous, cet exo m'inspire, voici ma version pour le niveau 1 :
                    #include <stdio.h>
                    #include <stdio.h>
                    #include <stdlib.h>
                    #include <string.h>
                    #include <stdbool.h>
                    #define SIZESTR     100
                    
                    #ifdef _WIN32
                     #define WIN
                     #include <windows.h>
                     #define BLEU      1
                     #define VERT      2
                     #define ROUGE     4
                     #define NOIR      ()
                     #define JAUNE     ROUGE|VERT
                     #define VIOLET    ROUGE|BLEU
                     #define CYAN      BLEU|VERT
                     #define BLANC     ROUGE|VERT|BLEU
                    
                     void Color(unsigned short flags);
                     void ResetColor(void);
                    #endif
                    
                    void ferase(FILE *f, const char *path);
                    void cleanBuf(void);
                    
                    int main(void) {
                        FILE *f;
                        char    pathFile[SIZESTR],
                                saisie[SIZESTR];
                        bool    continuer = true;
                    
                        printf( "** zBlocNotes **\n\n"
                                "Entrez le path du fichier : ");
                        scanf("%s", pathFile);
                        cleanBuf();
                    
                        f = fopen(pathFile, "a+");
                        if(f == NULL) {
                            fprintf(stderr, "Unable to open or create the file '%s'\n", pathFile);
                            return -1;
                        }
                    
                        printf("\nSaisissez '/leave' pour quitter, '/erase' pour effacer le contenu du fichier, n'importe quelle autre chaine pour l'ecrire dans le fichier\n\n");
                    
                        do {
                            memset(saisie, '\0', SIZESTR);
                            fgets(saisie, SIZESTR, stdin);
                    
                            if      (strncmp(saisie, "/leave", sizeof("/leave")-1) == 0)
                                continuer = false;
                    
                            else if (strncmp(saisie, "/erase", sizeof("/erase")-1) == 0) {
                                ferase(f, pathFile);
                            #ifdef WIN
                                Color(VERT);
                                printf("file erased successfully !\n");
                                ResetColor();
                            #else
                                printf("file erased successfully !\n");
                            #endif
                            }
                    
                            else
                                fprintf(f, saisie);
                    
                        }while(continuer);
                        fclose(f);
                        return 0;
                    }
                    
                    void ferase(FILE *f, const char *path) {
                        fclose(f);
                        f = fopen(path, "w+");
                        if(f == NULL) {
                            fprintf(stderr, "Unable to erase the file '%s'\n", path);
                            exit(-1);
                        }
                    }
                    void cleanBuf(void) {
                        while(getchar() != '\n');
                    }
                    
                    
                    #ifdef WIN
                    void Color(unsigned short flags) {
                        HANDLE  H = GetStdHandle(STD_OUTPUT_HANDLE);
                        SetConsoleTextAttribute(H,flags|FOREGROUND_INTENSITY);
                    }
                    void ResetColor(void) {
                        Color(ROUGE|BLEU|VERT|FOREGROUND_INTENSITY);
                    }
                    #endif
                    

                    Il y a juste quelque chose que j'ai un peu de mal à comprendre...
                    Comment fait-on pour la position ? De ce que j'ai compris, il faut demander la ligne et la colonne, pour ensuite y placer le curseur (je suppose avec une fonction que l'on crée nous même). Mais alors pourquoi nous proposer fgetpos && fsetpos ?

                    Et toujours pour le curseur, pour ajouter du texte à partir de la position du curseur, il faut créer un autre fichier ? Parce que si on garde un seul fichier, on va écraser les caractères qui y sont déjà...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 novembre 2012 à 20:16:13

                      Citation

                      memset(saisie, '\0', SIZESTR);
                      

                      Tu n'as pas plus... bourrin ? :p

                      Citation

                      strncmp(saisie, "/leave", sizeof("/leave")-1)
                      

                      Attention, tu as un soucis au niveau de la taille, là.

                      Sinon, si ton ambition est de faire un petit éditeur de fichier, tu devrais stocker ton fichier en mémoire (quitte à faire une sorte de segmentation si ton fichier est trop lourd), et opérer directement dessus. Là, toutes tes opérations au niveau du fichier sur le DD vont être lentes.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Staff désormais retraité.
                        3 novembre 2012 à 20:22:49

                        Citation : KiwiMoar

                        Je ne veux pas paraître pessimiste ou rabat-joie, mais quand on en voit le nombre de participations (quasi-inexistantes, voir nulles) des derniers exos...
                        Je veux dire, il risque pas d'y avoir de la concurrence entre les exos pour piquer les participants des autres.



                        Ce n'est pas de ça dont je veux parler. Mais quoi que tu penses de la qualité des énoncés d'exos, ça prend beaucoup de temps de les rédiger, et on a tendance à manquer de sujets. Il faut toujours que quelqu'un s'y colle un peu au dernier moment pour pondre l'exo du mois suivant.

                        Si on avait un peu plus de marge de manœuvre, par exemple quelques exos d'avance pour les 2-3 mois suivants, ça permettrait à chacun de rédiger un sujet d'exo quand il est inspiré, ce serait plus sympa. Et là, on est passé à côté d'une occasion de se constituer cette marge, donc je trouve ça dommage. Voilà tout. :)
                        • Partager sur Facebook
                        • Partager sur Twitter
                        J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
                        Anonyme
                          3 novembre 2012 à 20:36:38

                          Citation : Lucas-84

                          Citation

                          memset(saisie, '\0', SIZESTR);
                          

                          Tu n'as pas plus... bourrin ? :p


                          Je l'avais utilisé pour un problème de caractère '\0' en fin de string. Plus besoin donc je peux l'enlever :p

                          Quel est le souci de taille ? Si je rentre /leave, la chaine saisie vaudra "/leave\n\0". Donc, je ne dois pas la comparer avec "/leave\0", mais bien avec le début de la chaine (à savoir les sizeof(str) - 1 premiers octets)

                          Citation : Lucas-84

                          Sinon, si ton ambition est de faire un petit éditeur de fichier, tu devrais stocker ton fichier en mémoire (quitte à faire une sorte de segmentation si ton fichier est trop lourd), et opérer directement dessus. Là, toutes tes opérations au niveau du fichier sur le DD vont être lentes.

                          Je devrais utiliser les listes chaînées comme proposé dans zSubRip ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            3 novembre 2012 à 21:05:12

                            Citation : GuilOooo

                            Citation : KiwiMoar

                            Je ne veux pas paraître pessimiste ou rabat-joie, mais quand on en voit le nombre de participations (quasi-inexistantes, voir nulles) des derniers exos...
                            Je veux dire, il risque pas d'y avoir de la concurrence entre les exos pour piquer les participants des autres.



                            Ce n'est pas de ça dont je veux parler. Mais quoi que tu penses de la qualité des énoncés d'exos, ça prend beaucoup de temps de les rédiger, et on a tendance à manquer de sujets. Il faut toujours que quelqu'un s'y colle un peu au dernier moment pour pondre l'exo du mois suivant.

                            Si on avait un peu plus de marge de manœuvre, par exemple quelques exos d'avance pour les 2-3 mois suivants, ça permettrait à chacun de rédiger un sujet d'exo quand il est inspiré, ce serait plus sympa. Et là, on est passé à côté d'une occasion de se constituer cette marge, donc je trouve ça dommage. Voilà tout. :)



                            +1 je pense que ce serait une bonne idée un système de marge car comme tu l'as dis :

                            Citation

                            ça permettrait à chacun de rédiger un sujet d'exo quand il est inspiré, ce serait plus sympa.



                            du coup il faudrait créer un sujet pour que les zéros propose des idées d'exos pour les prochains moins puis pour chaque idée on décidé si on va écrire l'exo ou pas et quelqu'un qui veux bien le faire le fais :)

                            edit : sinon l'exo est bien mieux, les explications sont clairs et les exemples sont compréhensibles ;)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              3 novembre 2012 à 21:45:18

                              Citation

                              du coup il faudrait créer un sujet pour que les zéros propose des idées d'exos pour les prochains moins puis pour chaque idée on décidé si on va écrire l'exo ou pas et quelqu'un qui veux bien le faire le fais :)

                              C'est une bonne idée je trouve.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                3 novembre 2012 à 21:56:54

                                Citation : poupou9779

                                Il y a juste quelque chose que j'ai un peu de mal à comprendre...
                                Comment fait-on pour la position ? De ce que j'ai compris, il faut demander la ligne et la colonne, pour ensuite y placer le curseur (je suppose avec une fonction que l'on crée nous même). Mais alors pourquoi nous proposer



                                Pour le curseur ,il faut utiliser un printf (pour qu'il n'entre pas dans le fichier) et le reste avec un fgetc ou fgets.
                                Pour afficher le texte, il faudra utiliser fgets du début jusqu'a la fin (!= NULL), donc tu pourra pas inserer du texte au milieu. Pour retenir une position, tu fait i == position, puis fgetpos.
                                apres lecture du fichier le curseur est a la fin, tu fait un fsetpos pour replacer le surseur puis fputs pour écrire ce que tu veux( attention, cela ecrace les lettres suivante)
                                Mais libre a toi d'utiliser une autre fonction, fgetpos/fsetpos facilite le replacement
                                tu peut egalement replacer le curseur au début, creer une deuxieme boucle (i != position) sans printf


                                Citation : poupou9779

                                Et toujours pour le curseur, pour ajouter du texte à partir de la position du curseur, il faut créer un autre fichier ? Parce que si on garde un seul fichier, on va écraser les caractères qui y sont déjà...



                                Oui, il faut bien sur utiliser un fichier temporaire. si tu as remarque, lorsque tu modifier un fichier texte avec un editeur (blocnote, word...), il creer un fichier temporaire puis les efface a l'enregistrement
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  4 novembre 2012 à 9:24:35

                                  Citation : KiwiMoar

                                  Citation

                                  du coup il faudrait créer un sujet pour que les zéros propose des idées d'exos pour les prochains moins puis pour chaque idée on décidé si on va écrire l'exo ou pas et quelqu'un qui veux bien le faire le fais :)

                                  C'est une bonne idée je trouve.



                                  merci :)

                                  sinon j'attends que plus de personnes trouvent que c'est une bonne idée pour créer le sujet sur le forum ;)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    4 novembre 2012 à 10:51:01

                                    Non vas-y, crée-le maintenant, ça aura plus de visibilité et tu auras plus de personnes pour venir te dire ce qu'ils en pensent.

                                    Autrement, je m'attelle à l'exercice tout de suite, je poste un code probablement dans la journée.
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
                                      4 novembre 2012 à 11:21:16

                                      Citation : poupou9779

                                      Quel est le souci de taille ? Si je rentre /leave, la chaine saisie vaudra "/leave\n\0". Donc, je ne dois pas la comparer avec "/leave\0", mais bien avec le début de la chaine (à savoir les sizeof(str) - 1 premiers octets)


                                      "/leave\0" a le type const char*, donc sizeof("/leave\0") renverra la taille d'un pointeur constant sur char, pas la taille de la chaîne...

                                      Citation : poupou9779

                                      Je devrais utiliser les listes chaînées comme proposé dans zSubRip ?


                                      Pourquoi pas ? Ceci dit, je posterai sans doute également une solution dans la journée.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Staff désormais retraité.
                                      Anonyme
                                        4 novembre 2012 à 11:46:36

                                        Citation : Lucas-84

                                        Citation

                                        Quel est le souci de taille ? Si je rentre /leave, la chaine saisie vaudra "/leave\n\0". Donc, je ne dois pas la comparer avec "/leave\0", mais bien avec le début de la chaine (à savoir les sizeof(str) - 1 premiers octets)


                                        "/leave\0" a le type const char*, donc sizeof("/leave\0") renverra la taille d'un pointeur constant sur char, pas la taille de la chaîne...


                                        J'en prends bien note, mais chez moi,
                                        printf("%u", sizeof("/leave\0"));
                                        
                                        affiche 8, et
                                        printf("%u", sizeof("/leave /leave\0"));
                                        
                                        affiche 15. Est-ce que ça dépend du compilateur ?

                                        Je posterai pour le niveau 2 dans la journée ou demain, j'ai encore du travail >_<
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          4 novembre 2012 à 11:57:49

                                          Citation : poupou9779

                                          Citation : Lucas-84

                                          Citation

                                          Quel est le souci de taille ? Si je rentre /leave, la chaine saisie vaudra "/leave\n\0". Donc, je ne dois pas la comparer avec "/leave\0", mais bien avec le début de la chaine (à savoir les sizeof(str) - 1 premiers octets)


                                          "/leave\0" a le type const char*, donc sizeof("/leave\0") renverra la taille d'un pointeur constant sur char, pas la taille de la chaîne...


                                          J'en prends bien note, mais chez moi,

                                          printf("%u", sizeof("/leave\0"));
                                          

                                          affiche 8, et

                                          printf("%u", sizeof("/leave /leave\0"));
                                          

                                          affiche 15. Est-ce que ça dépend du compilateur ?


                                          Oublie, en fait, j'ai dit des bêtises (§ 6.4.5.5 + § 6.3.2.1.3). J'ai juste pas l'habitude de ce genre de syntaxe.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Staff désormais retraité.
                                          Anonyme
                                            4 novembre 2012 à 12:04:13

                                            Citation : Lucas-84

                                            Oublie, en fait, j'ai dit des bêtises (§ 6.4.5.5 + § 6.3.2.1.3). J'ai juste pas l'habitude de ce genre de syntaxe.


                                            Ah ok :) de quel type de syntaxe parles-tu ? de strncmp() ?
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Anonyme
                                              4 novembre 2012 à 12:08:28

                                              sujet créé : ici ;)

                                              si vous avez des idées d'améliorations pour le sujet, faites le par MP s'il vous plait pour éviter de polluer le topic ;)
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              zBlocnote

                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                              • Editeur
                                              • Markdown