Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1072 connectés 

  FORUM HardWare.fr
  Programmation
  C

  addition de caracteres en C ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

addition de caracteres en C ...

n°1941377
dindon_sau​vage
Posté le 16-11-2009 à 22:37:51  profilanswer
 

bonjour !
 
 
j'ai un petit probleme suite a un td pas bien compliqué sur le cryptage d'une chaine de caractere (cryptage de base hein,c'etait juste pour jouer un peu avec les char*)  
fin bref,je ne comprend pas pourquoi ca :
 
chaine_a_encoder[i] += clef[j]  
 
ne fonctionne pas (apres avoir effectué un sizeof sur l'addition,ca me renvoit 4 octets alors qu'un char vaut 1)
 
et que ca :
 
temp[i]= chaine_a_encoder[i]+clef[j]  
 
fonctionne  (avec temp un type string ) :??:  
la premiere solution me renvoit systematiquement un bon segmentation fault !
 
 
pourquoi ne peut on pas directement additionner les codes ASCII dans la chaine a encoder ?


Message édité par dindon_sauvage le 16-11-2009 à 22:51:30
mood
Publicité
Posté le 16-11-2009 à 22:37:51  profilanswer
 

n°1941384
tpierron
Posté le 16-11-2009 à 22:51:47  profilanswer
 

Ouais, et je suppose que tu as déclaré ta chaine de la façon suivante :

Code :
  1. char * chaine_a_encoder = "bla bla";


 
Parce que si tu l'avais déclarée comme ceci, ça aurait fonctionné :

Code :
  1. char chaine_a_encoder[] = "bla bla";


 
Ha, ha, c'est amusant le C, hein ? En fait les chaines statiques (quand elles ne servent de raccourci pour à initialiser un tableau), sont marquées comme lecture seule. En général le compilo optimise en regroupant les chaines semblables, en faisant pointer sur le même bloc mémoire. Donc si tu modifiais une telle chaine à un endroit, il y aurait des effets de bords à d'autres endroits (soit dans 99% des cas, un plantage). Donc vaut mieux se prendre un SEG FAULT le plus tôt possible.

n°1941386
dindon_sau​vage
Posté le 16-11-2009 à 23:06:15  profilanswer
 

oki merci de l'explication,je ne pensais pas que c'etait aussi tordu que ca  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  addition de caracteres en C ...

 

Sujets relatifs
[C] [resolu] lecture matrice alloué dynamiquement{C++} Tableau de structure
[C/C++] Coût d'une allocation mémoire[C#] Héritage de Template (généric)
probléme d'insertion de caractères accentués dans un xml via phpprobléme d'insertion de caractères accentués dans un xml via php
programmation wifi linux en CNotation romaine décroissante en langage C
[C#] HttpWebRequest + accentInterop C# - Java via Com4j
Plus de sujets relatifs à : addition de caracteres en C ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR