• [^] # Re: eviv Bulgroz !!!

    Posté par . En réponse au journal eviv Bulgroz !!!. Évalué à 1.

    c'est sûr, ici on voit l'utilisation de buffer qui peuvent être débordés par exemple. j'écrirais la fonction suivante :
    void rev_string (char *str)
    {
     char *beg, *end, *p, tmp;
     beg = str;
     while (*beg != '0円') {
     while (!isalpha(*beg) && *beg != '0円')
     beg++;
     end = beg;
     while (isalpha(*end))
     end++;
     p = end - 1;
     while (p-beg > 0) {
     tmp = *beg;
     *beg = *p;
     *p = tmp;
     beg++;
     p--;
     }
     
     beg = end;
     }
     puts(str);
    }
    
    j'ai testé ce code mais il segfault incompréhensiblement : en effet, en l'exécutant via gdb, il ne segfault pas ? je comprends pas... Si quelqu'un pouvait m'éclairer un peu sur ce comportement, je lui en remercierait par avance :)