Obsidian a écrit 5291 commentaires

  • # Structure

    Posté par  . En réponse au message retourner un pointeur vers un tableau de pointeurs. Évalué à 6.

    Une fonction teste une expression et retourne un pointeur vers la fin de l'expression si elle est trouvée. J'aimerais qu'elle retourne en outre un pointeur vers le début de l'expression, soit deux pointeurs. Comment faire ça proprement?

    Tu reçois donc un pointeur vers le début d'une chaîne de caractères (donc « char * ») et tu veux retourner deux pointeurs vers d'autres endroits de la même chaîne. Ces deux pointeurs de retour seront donc du même type que le paramètre. Évidemment, une fonction ne peux pas prendre deux valeurs différentes pour un même paramètre, donc il va falloir les encapsuler dans quelque chose d'autres. L'idée du tableau n'était donc pas mauvaise, mais ne sera pas la plus appropriée ici :

    Tu ne peux pas retourner directement un tableau ni passer son contenu en paramètre parce qu'un tableau en C n'est pas à proprement parler un objet. C'est seulement l'instanciation de n variables du même type et consécutives en mémoire, ni plus ni moins. Il n'y a aucune méta-données associées qui te permette de savoir à l'exécution quelle est la taille du tableau, par exemple. Il y a donc seulement deux cas où un nom de tableau est traité comme tel : sizeof, qui te donne en octets la taille du tableau en mémoire… si elle est connue à la compilation, et l'opérateur unaire « & » qui t'en renvoie l'adresse : « tab » est alors équivalent à « &tab » et renvoie la même valeur. Dans tous les autres cas, le nom d'un tableau au sein d'une expression est développé en pointeur vers le premier élément, comme pour une chaîne de caractères (ou de n'importe quoi d'autre).

    Ça veut dire que comme tu ne peux pas le transmettre directement en tant qu'objet, tu es obligé de l'allouer quelque part. Tu peux alors passer en argument un pointeur vers ce tableau pour qu'elle le remplisse. C'est ce qui se passe avec la fonction pipe(), par exemple.

    Toutefois, le plus approprié ici reste la définition d'une structure : elle, est définie comme un nouveau type qui peut donner naissance à des variables. Elle contient un certain nombre de sous-variables. Ces membres sont en nombre fixe mais c'est bien le cas dans la situation qui t'occupe. Donc :

    #include <stdio.h>
    
    typedef struct {
        char * debut;
        char * motif;
    } Resultat;
    
    Resultat expmatch (char *s)
    {
        Resultat res;
    
        res.debut = s;
        res.motif = s+3;
    
        return res;
    }
    
    int
    main(void)
    {
        Resultat r;
    
        r=expmatch("string");
        printf ("Chaîne entière : %s\nMotif recherché : %s\n",r.debut,r.motif);
    
        return 0;
    }
    
    

    En dehors des usages triviaux, j'ai encore beaucoup de mal avec les pointeurs, aussi, la résolution de ce petit problème m'aiderait beaucoup.

    Ben là, c'est un problème très particulier qui t'oblige en plus à suivre plusieurs lièvres à la fois. Donc clairement pas ce qu'il y a de plus didactique.
    Pour commencer, et pour t'aider avec les pointeurs, as-tu une idée claire de ce qu'est une adresse mémoire ou pas ?

  • [^] # Re: Oubli

    Posté par  . En réponse au journal Webcrise: ébauche d'architecture. Évalué à 8.

    Je préfère celle-ci

  • [^] # Re: À propos de la pertinence des accents

    Posté par  . En réponse au journal Conseils aux libristes, 1ere partie: eviter de sous-estimer la competition sur le plan technique. Évalué à 6.

    Dans un hôpital psychiatrique, n'y a t'il aucune différence entre un interne et un interné ?

    Apparemment non, si l'on en croit les témoignages de ceux qui y ont un jour mis un pied ! :-)

  • [^] # Re: Moi j'aime bien.

    Posté par  . En réponse au journal Mort aux fêtes religieuses fériées !. Évalué à 2.

    Je ne pense pas me tromper beaucoup en disant que cette fête a perdu sa connotation religieuse, heureusement.

    Ouais. Autrement dit : « Ah ouais, mais non, c'est pas pareil ! ».

    Moi toutes ces fêtes me vont très bien, et ce n'est pas pour autant que je me déplace à l'église pour les célébrer.

  • # Moi j'aime bien.

    Posté par  . En réponse au journal Mort aux fêtes religieuses fériées !. Évalué à 2.

    Le problème, c'est que malgré une république française qui se veut laïque, ce jour est férié. Que le pays ait des restes de culture chrétienne, ça semble logique. Mais je ne comprends pas qu'en 2012, on arrête toute l'économie d'un pays laïc pour une fête religieuse.

    Autant que je sache, il y a beaucoup de musulmans, en France, qui fêtent Noël quand même. On supprime le 25 décembre et toute l'ambiance qui va autour également ?

  • [^] # Re: coup de gueule

    Posté par  . En réponse au message Que de déboires sous Linux…. Évalué à 5.

    Si mon PC est trop récent, c’est bien que Linux a quand même du retard… (Je suis bien conscient que ce n’est pas évident, avec les constructeurs qui ne s’occupent pas du tout de Linux pour la plupart, mais du coup c’est pas cool quoi…)

    À dire vrai, Microsoft ne s'occupe pas non plus du matériel. Ce sont les constructeurs qui doivent mettre au point leurs pilotes pour un système cible sous peine de ne pas réussir à vendre leur matériel. On l'oublie un peu trop mais : quand est-ce que tu as installé un pilote sous Linux pour la dernière fois ? La plupart des choses sont immédiatement détectées et reconnues par le système lui-même, tant et si bien qu'on n'y prête même plus attention.

    À titre de comparaison, quand les clés USB ont commencé à apparaître, Linux les a reconnues sans problème pratiquement dès le départ. C'était censé être normal car l'USB encore tout jeune a ce moment avait défini d'emblée des classes de périphérique et il suffisait donc de s'appuyer sur la norme. Malgré cela, toutes les boîtes étaient vendues accompagnées d'une disquette-pilote, ceci parce que la prise en charge de l'USB n'était pas encore native sur l'O.S. le plus répandu du marché.

    À partir de cela, si ce ne sont pas les constructeurs eux-mêmes qui, soit mettent à disposition un pilote ou un module du noyau, soit fournissent à l'avance à la communauté les spécifications d'utilisation d'un matos à sortir (ce qui est très risqué dans un milieu aussi concurrent), alors on est obligé d'attendre que l'appareil sorte et que quelqu'un veuille bien faire un peu de reverse engineering dessus. Donc, oui, il y aura du retard et ce sera commun à tous les systèmes qui n'intéresse pas directement le fabricant.

    Maintenant, 2 ans, c'est un peu long et ton PC a le temps de vieillir, mais si c'est un seul développeur qui fait cela bénévolement, alors il se peut que ce soit tout simplement le temps minimum nécessaire. Par exemple, j'ai utilisé pendant longtemps un portable Toshiba Satellite 2410 qui était très bien pour son temps, mais qui avait le gros défaut d'afficher une barre noire de deux centimètres d'épaisseur sur le côté droit. Après avoir farfouillé un peu, je me suis rendu compte que c'était l'EDID qui contenait une valeur pourrie concernant le nombre de colonnes du panneau LCD. J'ai donc fini par télécharger mon EDID, le corriger à la main et demander à X de suivre ce fichier plutôt que ce qu'il recevait de l'écran.

    Bien sûr, c'est inadmissible pour le grand public mais :
    — L'EDID était bien pourri et patché via les pilotes sur les systèmes pris en charge par le constructeur ;
    — Quel autre système m'aurait permis d'aller chercher mon EDID en passant deux ou trois options ?
    — Quel autre système m'aurait offert la possibilité d'utiliser éventuellement l'EDID de mon choix ?

    Je crois que c'est la plus grande force des Unixoïdes et surtout du logiciel libre : si ça casse, tu as les moyens de réparer et de repartir.

  • [^] # Re: Quid des clients SCO Unix Server ?

    Posté par  . En réponse à la dépêche SCO : Game Over. Évalué à 2.

    Non, eux, ils sont déjà sous le soleil de la Réunion.

    →[]

  • [^] # Re: YOUPI

    Posté par  . En réponse au journal 5-sigma: le boson de Higgs est débusqué !. Évalué à 1.

    C'est pour cela qu'on a eu tant de mal : en fait, le boson de Higgs se cachait en Afghanistan ! :-)

  • # Nimage

    Posté par  . En réponse à la dépêche SCO : Game Over. Évalué à 10.

    C'est le bon moment pour ressortir ça :

    Dead End

  • [^] # Re: Pas Linux, mais Ubuntu

    Posté par  . En réponse au journal Linux, ce méconnu. Évalué à 3.

    Bon, alors, en quatre points :

    — man humour ;
    — Tout le monde ici sait que Linux est une marque déposée par Linus Torvalds ;
    — Une marque se dépose dans un certain secteur d'activité et peut donc avoir un homonyme dans un autre secteur. Une marque se dépose également dans un pays donné et peut déjà exister dans un autre ;
    — De fait, Linux est effectivement une marque de lessive, qui est également réputée sur ce site.

  • [^] # Re: Souvenir souvenir ...

    Posté par  . En réponse à la dépêche SCO : Game Over. Évalué à 4.

    Le gros point négatif, c'est qu'en matière d'accident industriel, il en reste encore un bien plus énorme, Microsoft, qui je pense nous pourrira la vie en entreprise jusqu'à notre retraite.

    « Et au delà » ! Fort probablement. :-)

  • [^] # Re: Pas Linux, mais Ubuntu

    Posté par  . En réponse au journal Linux, ce méconnu. Évalué à 1.

    Linux est une marque !

    Et plus précisément une marque de lessive !

  • [^] # Re: Divers

    Posté par  . En réponse au message [Optimisation] Mieux vaut utiliser : des programmes ? Ou des fonctions ?. Évalué à 2.

    Parameter expansion

    Le terme le plus exact est « développement des paramètres », comme on développe le contenu des parenthèses dans une équation. Seulement, quand on ne sait pas déjà de quoi il s'agit, le terme peut laisser perplexe quand même parce que le mot « développement » est déjà utilisé sous un grand nombre de formes différentes.

  • [^] # Re: Mémoire?

    Posté par  . En réponse à la dépêche Appel à contributions : Archives et contenus BBS et Minitel. Évalué à 5.

    Cela dit, « les civilisations bien antérieures à la nôtre » remontent à un peu plus que quinze ans, tout de même.

  • # Ââh, les RTC…

    Posté par  . En réponse à la dépêche Appel à contributions : Archives et contenus BBS et Minitel. Évalué à 5.

    Paradoxalement, s'il peut rester des services minitels actifs quelque part, ce sera bien par RTC. Ayant pas mal joué avec cet appareil et traîné sur différents serveurs avant la démocratisation du Net, il me reste un certain nombre de ressources, mais tout est sur disquettes :-) Il va me falloir un peu de temps pour tout recompiler sur un DVD.

  • [^] # Re: Forum Astuces.divers— donnée chriffée

    Posté par  . En réponse au message donnée chriffée. Évalué à 9.

    Tu en ferais quoi des cartes perforées que ton grand père t'aurait laissé avec ses numéros de comptes en Suisse ?

    Si tu en as et que tu ne sais pas quoi en faire, envoie-les moi, je tâcherai de me débrouiller avec ! :-)

  • [^] # Re: Jack et le temps réel

    Posté par  . En réponse à la dépêche KLANG - Kernel Level Audio Next Generation. Évalué à 10.

    Moi, je suis étonné que personne n'ait encore fait de jeu de mot avec JACK / KLANG …

  • # Tu n'es pas fou !

    Posté par  . En réponse au message Comportement étrange. Évalué à 9.

    Est-ce que quelqu'un qui déteste vraiment les forums passe 10min chaque matin à moinsser de rage tout ce qui passe ?
    Y'a-t-il des chinois du FBI derrière cette conspiration ?

    C'est ce que j'ai longtemps cru aussi mais après avoir visionné ceci cette nuit dans un état second : http://www.youtube.com/watch?v=sKVuY-TC1YQ&t=1h52m00s , j'ai acquis la conviction que les votes seraient eux-aussi en fait des particules élémentaires. À l'instar de la gravité, un « voton » aurait donc la propriété quitter son commentaire initial pour s'évaporer vers d'autres dimensions. :-)

    (Je change de dimension ->[]).

  • [^] # Re: [X] Réponse G

    Posté par  . En réponse au sondage Je repousse sans arrêt le lancement de mon projet de logiciel libre, car:. Évalué à 2.

    Réponse H : la réponse G !

  • [^] # Re: 3e degré...

    Posté par  . En réponse au message la taxe unique. Évalué à 2.

    Comme disait Astier : « Ce n'est pas que ce n'est pas drôle… c'est que ce n'est pas une blague, en fait ! » :-)

    http://www.wideo.fr/video/iLyROoafJ4q6.html

  • [^] # Re: microsoft

    Posté par  . En réponse au journal B16B00B5 : Sexisme dans le source du Kernel. Évalué à 3.

    Du coup, on doit pouvoir utiliser F466O7 comme nouvelle balise :-)

  • [^] # Re: C'est SQL mais pas sexiste.

    Posté par  . En réponse au journal B16B00B5 : Sexisme dans le source du Kernel. Évalué à 9.

    Parce B16B00B5, c'est machiste ? 'faut pas exagérer quand même.

  • [^] # Re: microsoft

    Posté par  . En réponse au journal B16B00B5 : Sexisme dans le source du Kernel. Évalué à 5.

    On devrait pouvoir transformer ça en « Big Blobs ». La modification serait mineure. :-)

  • [^] # Re: ^^

    Posté par  . En réponse au message éloge de la diversité. Évalué à 3.

    Non, c'est juste que Robertix est tombé dedans quand il était petit. Depuis, les effets sont permanents chez lui. :-)
    Il suffit de relire ses commentaires, journaux et entrées de forum pour s'en convaincre.

  • # TVA ?

    Posté par  . En réponse au message la taxe unique. Évalué à 6.

    je suis pour l'instauration d'une fiscalité unique qui fait tout
    il s'agit de la taxe à la vente
    sur chaque vente est ajouté la taxe de 20% pour le trésor

    C'est censé être le principe de la TVA.

    Après, il y aura toujours besoin de nouvelles recettes et, pour les trouver, des gens prêts à taxer tout et n'importe quoi. Sans compter les taxes volontairement mises en place pour dissuader les citoyens de recourir à une certaine chose, au profit d'une autre (ex: taxe carbone).

    si nous ne pouvons obtenir satisfactions dans ce pays,il y a ailleurs,je suis prêt pour le départ

    Bon vent !
    Au fait, t'es de quel pays et tu comptes aller où ?