IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

suppression caractère dans une chaine


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Points : 5
    Points
    5
    Par défaut suppression caractère dans une chaine
    Bonjour

    je veux fqire une fonction qui suprime un caractere dans une chaine mais j'ai un segfault, je ne vois pas pk

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    #include <stdio.h>
    #include <stdlib.h>
     
    void   my_strcpy(char *source, char *recpient)
    {
     	  int i;
     	  i = 0;
     	  while (source[i])
     	  {
    	   	   puts("toto");
    	   	   recpient[i] = source[i];
    	   	   i++;
    	   }
    }
     
    void sup_char(char *str, int position)
    {
     	int i;
     	int j;
    	 char *temp;
     	temp = malloc(sizeof (*temp) * strlen(str));
     
     	j = 0;
     	i = 0;
     while (str[i])
     {
    	 if (i != position)
    	 {
    	 temp[j] = str[i];
     	 j++;
    	}
    	i++;
      }
     
    str[0]  = '\0';
    my_strcpy(temp, str);
      puts(str);
     free(temp);
    }
    int main(int argc, char *argv[])
    {
        		   char *str;
    //= "je suis la";
        str = malloc(50);
        str = "toto";	  
        sup_char(str, 1);
        system("PAUSE");	
    return 0;
    }

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Ceci ne va pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        str = malloc(50);
        str = "toto";
    vu que la deuxième ligne écrase ce que fait la première.

    La copie d'une chaîne se fait pas strcpy() ou analogue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        str = malloc(50);
        strcpy(str, "toto");
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

Discussions similaires

  1. [XL-2010] Suppression de caractères dans une chaine
    Par BLZ007 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/07/2014, 19h53
  2. Suppression de caractères dans une chaine
    Par mouhammed dans le forum C
    Réponses: 19
    Dernier message: 01/11/2008, 17h34
  3. Suppression de certains caractères dans une chaine
    Par Tchupacabra dans le forum Langage
    Réponses: 2
    Dernier message: 05/12/2007, 12h08
  4. Recuper un caractère dans une chaine. (novice)
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/08/2005, 09h07
  5. Réponses: 8
    Dernier message: 08/06/2004, 01h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo