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

  FORUM HardWare.fr
  Programmation
  C

  Remplacement d'un caractère par un autre dans une chaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Remplacement d'un caractère par un autre dans une chaine

n°1764327
psgkiki
Posté le 24-07-2008 à 15:37:21  profilanswer
 

Bonjour à tous,
 
J'aimerais remplacer, dans une chaîne, un caractère par un autre. Par exemple, remplacer un '.' par un '_' dans la chaine "test.test1".
 
Voilà ce que j'ai fait et cela me met qu'il y a une erreur de segmentation.
 

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. char* str_replace(char ancien,char nouveau,char* mot) {
  5. int longueur = strlen(mot),i;
  6. for(i=0;i<longueur;i++) {
  7. if(mot[i] == ancien) {
  8. mot[i] = nouveau;
  9. }
  10. }
  11. return mot;
  12. }
  13. int main(void)
  14. {
  15. char* mot = "test.test";
  16. char ancien = '.';
  17. char nouveau = '_';
  18. char *res;
  19. res = str_replace(ancien,nouveau,mot);
  20. printf("$jhp_id_%s\n", res);
  21. return 0;
  22. }


 
Merci pour votre aide

mood
Publicité
Posté le 24-07-2008 à 15:37:21  profilanswer
 

n°1764329
Elmoricq
Modérateur
Posté le 24-07-2008 à 15:41:17  profilanswer
 

Normal :

Code :
  1. char * mot = "test.test"
 

Ici, la variable mot est en fait de type const char * et n'est pas modifiable, cela résulte en segfault.

 

Il faut écrire :

Code :
  1. char mot[] = "test.test";



Message édité par Elmoricq le 24-07-2008 à 15:41:40
n°1764331
tpierron
Posté le 24-07-2008 à 15:42:12  profilanswer
 

Arf, presque bon. Remplace la ligne 19 par:
 

Code :
  1. char mot[] = "test.test";


 
Les chaines statiques ne peuvent pas être modifiées.
 
Edit: [:benou_grilled]


Message édité par tpierron le 24-07-2008 à 15:43:00

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

  Remplacement d'un caractère par un autre dans une chaine

 

Sujets relatifs
chaine de caractères javascriptextraire nombres d'une chaine de caractère
Decouper chaine de caractere (sh)Contenu d'une chaîne de caractères
[PHP] chaine de caractères dans BDDRecherche de caractère dans un nom de fichier
tri sur une chaine de caractère dans excel[kix] Remplacement d'une chaine de caractère
Remplacement de chaine de caractèreRemplacement/suppression d'un chaine de caractère dans un fichier
Plus de sujets relatifs à : Remplacement d'un caractère par un autre dans une chaine


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