Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».
Le problème se situe entre la chaise et le clavier : soumettez vos histoires, donnez votre avis !
Ce site n'est pas le site original pebkac.fr. Je publie ici la liste des PEBKAC que j'ai pu sauvegarder avant que le site original ne soit mis hors ligne.
Dans un TP de langage C basique, avec des char * wars et tout le tintouin, je demande à l'assistante la syntaxe pour déclarer statique une chaîne de caractères :
« Alors tu fais static String tavariable = "le contenu";.
– String ? En C ?
– Ben oui !
– … »
PEBKAC.
PEBKAC #9154 proposé par Vanivan le 23/12/2013 | 22 commentaires | 👍🏽 👎🏽 +121
Au secours, Ben Kenobi, vous êtes mon seul espoir !
Commentaire #123476 écrit par aDev le 23/12/2013 à 13h03 | 👍🏽 👎🏽
http://www.commentcamarche.net/contents/121-langage-c-les-types-de-don[...]
Commentaire #123479 écrit par Shadam le 23/12/2013 à 13h11 | 👍🏽 👎🏽
Je crois qu'en plus en C++, c'est string (sans majuscule, std::string), il est inconnu avec la majuscule.
Le C et ses joies... (non non je trollerai un autre jour)
Commentaire #123482 écrit par Cartman34 le 23/12/2013 à 13h28 | 👍🏽 👎🏽
Mouais, la seule explication que je vois c'est un typedef const char* String;
Commentaire #123483 écrit par Lynix le 23/12/2013 à 13h38 | 👍🏽 👎🏽
Des des "char * wars", c'est ce qu'on dit de l'œuvre de George Lucas quand on a la bouche pleine de popcorn ?
Commentaire #123484 écrit par Link le 23/12/2013 à 13h51 | 👍🏽 👎🏽
Je ne pense même pas qu'on ait besoin du const vue l'assignation faite.
Commentaire #123486 écrit par Noname le 23/12/2013 à 13h59 | 👍🏽 👎🏽
String ... dans ton C ... ça se tient !

/==>[] == pfiouw ! ==>
Commentaire #123487 écrit par Picc le 23/12/2013 à 14h29 | 👍🏽 👎🏽
Au contraire l'utilisation de const est obligatoire dans ce cas la...
Commentaire #123488 écrit par Ben le 23/12/2013 à 14h36 | 👍🏽 👎🏽
Donc confusion C et C++ si j'ai bien compris ?
Commentaire #123489 écrit par Araldwenn le 23/12/2013 à 14h39 | 👍🏽 👎🏽
Le static c'est plutôt pour le Java, enfin si je ne me trompe. Donc disons que c'est une confusion entre le C et pas le C. :)
Commentaire #123490 écrit par Vanivan le 23/12/2013 à 14h42 | 👍🏽 👎🏽
Un langage du futur...
Commentaire #123491 écrit par k3vain le 23/12/2013 à 14h44 | 👍🏽 👎🏽
static existe en C. Par contre, String, non.
Commentaire #123492 écrit par Freudo le 23/12/2013 à 14h48 | 👍🏽 👎🏽
Justement, en C++
class Essai {
 public:
     static string emptyString;
 };
 
 string Essai::emptyString = "";

est valable, non ?
Commentaire #123495 écrit par Araldwenn le 23/12/2013 à 14h56 | 👍🏽 👎🏽
Arf, je disais ça pour char * wars...
Commentaire #123497 écrit par aDev le 23/12/2013 à 15h26 | 👍🏽 👎🏽
Et surtout le C++ et ses joies...
Commentaire #123499 écrit par Somadeva le 23/12/2013 à 15h50 | 👍🏽 👎🏽
Avec char* str = "truc", la chaine n'est pas modifiable et donne une erreur de segmentation le cas échéant. Donc on peut se passer de const en cas d'assignation en dure même si on peut le rajouter pour le confort de lecture.

Test à l'appui :
#include <stdio.h>
 
 main(){
     char* str = "Bonjour";
 
     str[0] = 'T';
     printf("%s/n", str);
 
     return 0;
 }


EDIT : Vérifié à la fin de http://fr.wikibooks.org/wiki/Programmation_C/Tableaux
Commentaire #123500 écrit par Noname le 23/12/2013 à 15h56 | 👍🏽 👎🏽
CTLP t'avais qu'à redéfinir une structure String et rendre tout ça possible :p
Commentaire #123501 écrit par Limeila le 23/12/2013 à 16h20 | 👍🏽 👎🏽
En PHP, tu peux avoir un string dans l'array…
Commentaire #123506 écrit par Guenhwyvar le 23/12/2013 à 17h52 | 👍🏽 👎🏽
Merci pour les thumbs down... Ayant laissé tomber la programmation depuis une éternité, je posais une question légitime histoire de me rafraîchir la mémoire et/ou ajouter à mes connaissances.
Mais je vois que certains continuent à préférer le dénigrement à la transmission du savoir. Au moins, grâce à eux est on sûrs d'avoir à jamais un vivier de PEBKACs dus à un manque d'information.
Commentaire #123514 écrit par Araldwenn le 23/12/2013 à 18h51 | 👍🏽 👎🏽
http://c0x.coding-guidelines.com/6.4.5.html

Rien n'oblige le compilateur à maintenir les strings littérales dans des segments distincts ou inscriptibles, et tenter d'en modifier une provoque un comportement indéfini.
Commentaire #123519 écrit par D-z le 23/12/2013 à 19h38 | 👍🏽 👎🏽
Je ne vois rien de fondamentalement faux, après, ya le contexte, mais niveau théorie ça m'a l'air d'aller.
Commentaire #123541 écrit par neeko le 24/12/2013 à 01h30 | 👍🏽 👎🏽
Madame devrait arrêter le Java, ça lui fait mal dans la tête.
Commentaire #123542 écrit par neeko le 24/12/2013 à 01h31 | 👍🏽 👎🏽