|
Bas de page | |
---|---|
Auteur | Sujet : Modification d'un caractère dans un tableau |
Publicité | Posté le 16-08-2007 à 20:23:26 |
tpierron | Mouais, classique. Tu modifies une chaine statique. Les compilos marque la zone occupée par ces chaines en read only. En général, ils en profitent pour optimiser en réutilisant les chaines similaires. Du coup si tu modifiais une chaine, ça pourrait avoir des répercutions dans d'autre partie du code : l'horreur totale.
Message édité par tpierron le 16-08-2007 à 20:38:11 |
smurf4xp | Merci de m'avoir répondu aussi vite,
|
smurf4xp | c'est bon, ca marche plus ou moins
|
SquiZZ | je ne comprends pas pourquoi ton NextOne retourne quelque chose.
et que tu retournes rien ça doit bien suffire |
smurf4xp |
|
SquiZZ | uh, t'as fait ce qu'a dit tpierron ? |
smurf4xp |
|
Deadog Dain Bramaged |
Message édité par Deadog le 17-08-2007 à 02:04:03 |
smurf4xp | merci pour ta réponse deadog!
|
Publicité | Posté le 17-08-2007 à 12:00:15 |
Deadog Dain Bramaged | hum, strdup te fait le malloc + le strcpy ce qui n'est pas plus mal parce que dans ce que tu as fais tu prend un gros risque : tu paris sur le faite que le bout de mémoire alloué par malloc contient initiallement que des 0, ce qui n'est pas toujours le cas. malloc tu donne un bout de mémoire sans la remettre à zero, donc tu peux très bien obtenir ce qu'il y avant, c'est à dire tout et n'importe quoi, et en particulier pas forcément des 0 tiré de la page man de strncpy :
Chez toi ça a marché uniquement parce que tu as eu la chance que malloc te retourne un bout de mémoire avec que des 0.
calloc t'alloue une zone mémoire et te la met à zéro une autre méthode et de faire ça à chaque fois que tu utilise strncpy :
Message édité par Deadog le 17-08-2007 à 13:35:29 |
Emmanuel Delahaye C is a sharp tool |
Message édité par Emmanuel Delahaye le 17-08-2007 à 14:00:13 --------------- Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/ |
Sujets relatifs | |
---|---|
[Resolu] Interdire saisie de caractère | Supprimer une ligne contenant une chaine de caractère |
utiliser le tableau super-global $_SESSION | Macro pour supprimer des lignes d'un tableau à partir de valeur |
[batch] modifier une ligne d'un texte (doubler un caractere) | Smarty et tableau Mysql |
Tableau dynamiquement redimensionné | Macro Excel date et tableau croisé dynamique |
Tri de réponses chiffre/caractère [resolu] | Recherche script de modification et sauvegarde d'image |
Plus de sujets relatifs à : Modification d'un caractère dans un tableau |