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 :

probleme d'allocation de texte


Sujet :

C

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 9
    Par défaut probleme d'allocation de texte
    Bonjour a tous.
    J'ai déjà pas mal utilisé les fonctions d'allocations, malloc, calloc et free. Par contre j'ai jamais utilisé realloc mais logiquement on doit pouvoir s'en sortir avec un free et un malloc non ?

    En tout cas, j'ai un probleme dans mon code, je comprends vraiment pas, je marque deux fois la meme chose, juste que la deuxieme fois je passe par une fonction, et là j'ai un gros soucis.

    Le code C est en piece jointe.

    Le resultat a la console donne :
    stralloc: "un premier texte"
    stralloc: "un texte modifie manuellement"
    stralloc: "un premier texte"
    realloc: ""
    Merci de votre aide

    Edit de gruik : je copie colle car le code est pas long
    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
    50
    51
    #include<stdio.h>
    #include<stdlib.h>
     
    char * stralloc (const char * str)
    {
    	int i,n_char;
    	char * s;
    	for(n_char=0;str[n_char] != '\0';n_char++);
    	s= malloc((n_char+1)*sizeof(char));
    	for(i=0;i<n_char;i++)
    		s[i] = str[i];
    	s[n_char]='\0';
    	return s;
    }
     
    void strrealloc (char * str_dest, const char * str_src)
    {
    	if(str_dest != NULL)
    	{
    		free(str_dest);
    		str_dest = NULL;
    	}	
    	str_dest=stralloc(str_src);	
    }
     
    int main(void)
    {
    	char * str = NULL;
     
    	str = stralloc ("un premier texte");
    	printf("stralloc: \"%s\"\n",str);
     
    	if(str != NULL)
    	{
    		free(str);
    		str=NULL;
    	}
    	str=stralloc("un texte modifie manuellement");
    	printf("stralloc: \"%s\"\n",str);
     
    	free(str);
    	str = NULL;
     
    	str = stralloc ("un premier texte");
    	printf("stralloc: \"%s\"\n",str);
    	strrealloc(str,"texte modifier avec realloc");
    	printf("realloc: \"%s\"\n",str);
     
     
    	return EXIT_SUCCESS;
    }
    Fichiers attachés Fichiers attachés
    • Type de fichier : c text.c (868 octets, 70 affichages)

Discussions similaires

  1. probleme d allocation avec un tableau de BYTE
    Par e1lauren dans le forum C++
    Réponses: 5
    Dernier message: 06/05/2005, 13h42
  2. Probleme pour centre du texte
    Par piff62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/01/2005, 11h26
  3. [FLASH MX] Probleme de nettete du texte
    Par anksou dans le forum Flash
    Réponses: 2
    Dernier message: 04/11/2004, 10h31
  4. [FLASH MX] Probleme de scrollbar et texte dynamique
    Par Bisûnûrs dans le forum Flash
    Réponses: 6
    Dernier message: 28/06/2004, 21h12
  5. probleme d'allocation dynamique
    Par vince3320 dans le forum C
    Réponses: 10
    Dernier message: 22/04/2004, 16h27

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