Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#101 Le 14/04/2010, à 23:34

cm-t

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :

@helly : non, 9 car on compte l'espace

yes plop

8
Et bonus pour flood de plop lol

aha, bien joué, j'avais pas penser a si simple smile
mais peut-être il y a encore plus simple qui sait ?


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#102 Le 14/04/2010, à 23:36

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Possible, je suis plutôt noob en bash roll (mais je me soigne quand j'ai le temps)

Sinon, j'ai une version de plop en C obfusqué (je pense que je dois pouvoir faire pire encore, mais faut que je me repenche dessus un de ces quatre) fait maison (Pylade la connaît wink)

Édit : Youhou, GCC 4.5 est sorti, enjoy \o\ \o| \o/ |o/ /o/

@Pylade (pour les goto, après je ne sais pas si tu as cette habitude) tongue

La news a écrit :

Vous avez la mauvaise habitude de faire des goto en C sans penser à initialiser vos variables ? GCC 4.5 a pensé à vous et l'utilisation de l'option -Wjump-misses-init générera désormais un avertissement si vous persistez dans vos exécrables pratiques. Bien entendu, et comme son nom l'indique, il suffira d'utiliser le très sévère -Wall pour profiter de cette surveillance renforcée.

Dernière modification par grim7reaper (Le 14/04/2010, à 23:54)

Hors ligne

#103 Le 14/04/2010, à 23:43

helly

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

On compte que les caractères imprimables?


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#104 Le 14/04/2010, à 23:49

Grünt

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

./a
plop

big_smile


Red flashing lights. I bet they mean something.

Hors ligne

#105 Le 14/04/2010, à 23:52

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Oui, mais tu as tapé plus de caractères pour écrire ton script/exécutable "a" donc ça ne fonctionne pas tongue

Dernière modification par grim7reaper (Le 14/04/2010, à 23:57)

Hors ligne

#106 Le 15/04/2010, à 00:00

PPdM

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

samuncle a écrit :

Bienvenue dans ce nouveau topic psychédélique, ou le but est de coder le plus tard possible (oui c'est bien connu, il est plus facile de coder la nuit).

Que le meilleur gagne smile

Dis moi j'attends toujours mon chèque de droit d'auteur mad

pierguiard a écrit :

Bonjour !:D

Coup de gueule du matin
Les codeurs fous, pourquoi vous ne faites pas un Topic des Codeurs Couche-Tard ?
Parce-que en ce moment  le TdCT est imbuvable !:mad:

big_smile


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#107 Le 15/04/2010, à 00:01

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

5 pages le premiers jours, bon rythme (on voit que l'on se retenait sur le tdct tongue)

Hors ligne

#108 Le 15/04/2010, à 00:02

cm-t

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :

5 pages le premiers jours, bon rythme (on voit que l'on se retenait sur le tdct tongue)

yes

big_smile


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#109 Le 15/04/2010, à 00:02

helly

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Et voila pépé en viens à se quoter lui même, c'est le début de la fin pour lui sad

/me est contente ,je viens de me rappeller que j'avais acheté un bouquin sur le c++ :
"le guide de survie du c++
vincent gouvernelle"
ça vous dit quelquechose?


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#110 Le 15/04/2010, à 00:05

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

22 post sur 114, je représente presque 20% (19,3%) des messages sur ce topic \o/ (et en nombre de ligne, vu mon bonus de +5 en ponte de pavé c'est sûrement bien plus cool)

@helly : non, je ne connais pas, mais je ne connais pas des masses de livres non plus (après, comme je l'ai dis, le seul ouvrage français reconnu à l'unanimité c'est le Stroustrup).

Sinon, pour chercher un livre sur un sujet en info, développez.com à des rubriques où des livres sont conseillés et parfois des critiques sont disponibles.

Dernière modification par grim7reaper (Le 15/04/2010, à 00:09)

Hors ligne

#111 Le 15/04/2010, à 00:11

samυncle

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Dis moi j'attends toujours mon chèque de droit d'auteur

\o/ amis smile


Hello world

Hors ligne

#112 Le 15/04/2010, à 00:13

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

plop && good nigth for all

/me sleep 31500

Hors ligne

#113 Le 15/04/2010, à 00:16

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :

Il faut différencier :
- const char* (ou char const *) => pointeur variable sur une chaîne constante
- char *const => pointeur constant sur une chaîne variable
- const char *const => pointeur constant sur une chaîne constante

Si tu veux modifier la chaîne pointée oublie l'affectation "=" avec les chaînes littérales et fais du strcpy. Si tu veux juste modifier le pointeur (et pas la chaîne pointée) dans ce cas modifie tes "char *" en "char const *".

Ouh, c’est très subtil, et confus pour moi en ce moment. J’ai encore des progrès à faire.
Donc j’ai déclaré toutes mes chaînes avec const char*, et tous mes tableaux de chaînes avec const char**, et j’ai utilisé des = partout, mais je me prends quand-même un SIGSEGV dans la tronche. Là, je n’ai pas le courage de pousser plus loin mes investigations.

Voilà la tronche de mes fichiers pour la route.
libopt.c

#include "libopt.h"
#include <stdio.h> //debug
int atropt(int argc,const char** argv,struct opt** optv,struct retr* ret)
{
    short i=0;
    struct opt* next=NULL;
    short argn;
    for(argn=1;argn<argc;argn++)
    {
        short s_flag=0;
        if(argv[argn][0]=='-')
        {
            if(argv[argn][1]=='\0')
            {
                ret->argsv[i++]="-";
                continue;
            }
            if(argv[argn][1]!='-')
            {
                while(argv[argn][++s_flag]!='\0')
                {
                    short optn;
                    for(optn=0;optv[optn]!=NULL;optn++)
                    {
                        short shn;
                        for(shn=0;optv[optn]->short_unact[shn]!='\0';shn++)
                        {
                            printf("unact: %c\n",optv[optn]->short_act[shn]); //debug
                            putc(argv[argn][s_flag],stdout); //debug
                            putc('\n',stdout); //debug
                            if(optv[optn]->short_unact[shn]==argv[argn][s_flag])
                                optv[optn]->active=0;
                        }
                        for(shn=0;optv[optn]->short_act[shn]!='\0';shn++)
                        {
                            printf("act: %c\n",optv[optn]->short_act[shn]); //debug
                            putc(argv[argn][s_flag],stdout); //debug
                            putc('\n',stdout); //debug
                            if(optv[optn]->short_act[shn]==argv[argn][s_flag])
                            {
                                optv[optn]->active=1;
                                if(optv[optn]->takes_value==1)
                                    next=optv[optn];
                            }
                        }
                    }
                }
            }
            else
            {
                // options longues on continue !
            }
        }
        else
        {
            if(next!=NULL)
            {
                next->value=argv[argn];
                next=NULL;
            }
            else
                ret->argsv[i++]=argv[argn];
        }
    }
    ret->argsv[i]=NULL;
    ret->argsc=i;
    return EXIT_SUCCESS;
}

libopt.h

#ifndef LIBOPT_H_INCLUDED
#define LIBOPT_H_INCLUDED
#include <stdlib.h>
#include <string.h>
struct opt
{
	char active;
	const char* short_act;
	const char** long_act;
	const char* short_unact;
	const char** long_unact;
	char takes_value;
	const char* value;
};
struct retr
{
    int argsc;
    const char** argsv;
    const char** errs;
};
int atropt(int,const char**,struct opt**,struct retr*);
#endif // LIBOPT_H_INCLUDED

debug.c

#include <stdio.h>
#include <stdlib.h>
#include "../staticlibopt/libopt.h"

int main(int argc,const char** argv)
{
    printf("Hello world!\n");
    struct opt opt1;
    opt1.active=0;
    opt1.short_act="d";
    opt1.short_unact="";
    opt1.takes_value=0;
    struct opt opt2;
    opt2.active=0;
    opt2.short_act="fi";
    opt2.short_unact="";
    opt2.takes_value=0;
    struct opt* optv[3];
    optv[0]=&opt1;
    optv[1]=&opt2;
    optv[2]=NULL;
    struct retr ret1;
    atropt(argc,argv,optv,&ret1);
    if(opt1.active)
        puts("opt1 active!");
    if(opt2.active)
        puts("opt2 active!");
    return 0;
}

Je crois que je vais faire une fonction qui initialise la structure. C’est en effet une bonne idée. J’aurais aimé la créer, mais si je demande un pointeur sur struct opt en argument, que je crée et j’initialise la structure dans ma fonction et que j’affecte ensuite le pointeur passé, ça va chier car la structure ne sera définie que dans la fonction de création, non ? Donc même si c’est une fonction de création qui serait la plus adaptée à un utilisateur con, je ne vois pas comment faire… hmm

Au passage :

int main(int, const char**);

c’est un prototype de main correct, ou argv ne doit pas être const char** ?

Merci pour tout le temps que tu as passé à m’aider.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#114 Le 15/04/2010, à 00:28

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

cm-t a écrit :

peut-on plopper en tapant moins de caractère que ca ?

yes|sed s/y/plop/g

18 caractères ici

ca fait une bonne 1ère enigme non?


edit: des point pour les Hdp ?

Déjà ton g est inutile.

grim7reaper a écrit :

5 pages le premiers jours, bon rythme (on voit que l'on se retenait sur le tdct tongue)

Et encore, la journée n’est pas finie…


Sinon, j’ai oublié de dire que gpm roxe. big_smile


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#115 Le 15/04/2010, à 00:56

Ph3nix_

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

goto "sleep"

wink


Hiroshima 45 / Chernobyl 86 / Windows '95

Hors ligne

#116 Le 15/04/2010, à 00:57

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :

Édit : à toutes fins utiles voici ma ligne de compilation traditionnel (et pas parano) pour une compil en mode debug

gcc -g -ansi -pedantic -Wall -Wextra -O0 -Wwrite-strings -Wstrict-prototypes -Wunreachable-code

-Wstrict-prototypes est peut-être superlfu (activé par -pedantic ? -ansi ? -Wall ? -Wextra ?).

J’ai fait comme ça, à l’exception de -ansi dont je ne comprends pas l’intérêt, et de -O0 (je n’optimise pas par défaut, mais je comprends que cela constitue une sécurité). Et bien, ça oblige à faire preuve de beaucoup de rigueur, ça…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#117 Le 15/04/2010, à 01:02

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Bon… On est obligé de ploper du code pour marquer des points ?

Dans ce cas…

echo 'BN all' && sudo halt

smile


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#118 Le 15/04/2010, à 01:03

helly

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

#!/bin/bash
sleep 3600*9

Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#119 Le 15/04/2010, à 01:07

nesthib

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

helly a écrit :
#!/bin/bash
sleep $((3600*9))

fixed…


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#120 Le 15/04/2010, à 03:06

samυncle

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

smile


Hello world

Hors ligne

#121 Le 15/04/2010, à 03:11

Grünt

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

tongue


Red flashing lights. I bet they mean something.

Hors ligne

#122 Le 15/04/2010, à 03:17

samυncle

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

tongue


Hello world

Hors ligne

#123 Le 15/04/2010, à 08:23

bloublou

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Ah ben enfin un topic débile où j'vais pouvoir trainer.

Hors ligne

#124 Le 15/04/2010, à 09:02

tshirtman

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

nesthib a écrit :
helly a écrit :
#!/bin/bash
sleep 9h

fixed…

fixed

Pylade a écrit :
grim7reaper a écrit :

Il faut différencier :
- const char* (ou char const *) => pointeur variable sur une chaîne constante
- char *const => pointeur constant sur une chaîne variable
- const char *const => pointeur constant sur une chaîne constante

Si tu veux modifier la chaîne pointée oublie l'affectation "=" avec les chaînes littérales et fais du strcpy. Si tu veux juste modifier le pointeur (et pas la chaîne pointée) dans ce cas modifie tes "char *" en "char const *".

Ouh, c’est très subtil, et confus pour moi en ce moment. J’ai encore des progrès à faire.

non, cee n'est pas de ta faute, c'est le language qui essaye de donner un sens à tout et n'importe quoi, en voulant concilier des approches haut niveau avec des concepts bas niveaux, et est de ce fait, trop complexe à utiliser… mon conseil est bien de changer de langage, pas de cerveau. tongue

edit: ah non ça c'est pareil en C qu'en C++ tongue donc oui c'est complexe et inhérent au langage, mais ce genre de trucs est moins perturbant en C qu'en C++.

Dernière modification par tshirtman (Le 15/04/2010, à 09:09)

Hors ligne

#125 Le 15/04/2010, à 09:08

nesthib

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

tshirtman a écrit :
nesthib a écrit :
helly a écrit :
#!/bin/bash
sleep 9h

fixed…

fixed

bien sûr wink mais tu perds la vertu pédagogique là… faut leur apprendre à faire des opérations en bash à ces p'tits jeunes !


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne