begin process at 2010 02 09 23:47:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

sprintf et allocation de mémoire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

sprintf et allocation de mémoire

vendredi 19 janvier 2007 à 12:32:45 | sprintf et allocation de mémoire

jguillemette

Membre Club
j'aimerai savoir si le code suivant est correct

char *c;           
sprintf(c , "toto");

est-ce le systeme qui alloue de la mémoire à c?
sur quoi pointe c?


Merci de votre aide.

Jérôme
vendredi 19 janvier 2007 à 12:52:32 | Re : sprintf et allocation de mémoire

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Le system n'alloue rien du tout.

ciao...
BruNews, MVP VC++
vendredi 19 janvier 2007 à 20:26:27 | Re : sprintf et allocation de mémoire

pepsidrinker

Réponse acceptée !

Premierement, ton pointeur de 'char' ne pointe vers rien, et en plus, il 'pique', car il n'est pas initialisé, donc, pointe vers une valeur inconnue.

Ceci dit,il faudrait créer un buffer (mémoire tampon) pour ton char*.

La syntaxe est :
---------
1- char buffer[255] ; (static)
OU
2- char* buffer = new char[255]; (dynamic)
--------
pour une valeur de 254 caractère max. (le dernier étant caract.de fin de string).

pour ton code,voici la version qui marche:

char c [255];       
sprintf(c , "%s'","toto");


***Note***
Le "%s" est un indicateur de format qui doit etre inclus a sprintf.
"%s" signifie 'STRING'.
Il y en a d'autre comme "%c" qui signifie 'CHAR', ou "%d" qui veut dire décimal.




Pepsidrinker

lundi 22 janvier 2007 à 10:05:08 | Re : sprintf et allocation de mémoire

jguillemette

Membre Club
merci pour ces réponses
en fait j'avais un doute car lorsque j'ai executé ce petit programme test, il n'y avait pas d'erreur! je faisais un printf() et ça m'affichais la valeur attendue!
ce n'est qu'en faisant un test un peu plus complet que j'ai enfin eu un débordement de mémoire

Merci de votre aide.

Jérôme


Cette discussion est classée dans : mémoire, allocation, sprintf


Répondre à ce message

Sujets en rapport avec ce message

Allocation dynamique de mémoire (°_°) [ par ceeno ] Bonjour à tous,Je cherche a crée un tableau dont j'augmente la mémoire à chaque fois que je veu y enregistrer une nouvelle valeur.Mais je n'y arrive p Exception et Allocation Mémoire [ par magic_Nono ] Bonjour,G réalisé une classe pour gérer mes exception.http://www.cppfrance.com/code.aspx?ID=19671Cette classe comporte une chaine de caractère...Mais prd de fuite mémoire. [ par gyzmo1 ] Salut à tous, dans mon programme je dois utiliser beaucoup de matrice et donc pas mal d'allocation dynamique. Je desalloue regulièrement mes tableaux( Allocation de mémoire [ par vecchio56 ] Je dois faire des petites allocations de mémoire pour des structures de quelques octets. Quelle fonction devrais-je utiliser? HeapAlloc, LocalAlloc, V allocation mémoire [ par imanewin32 ] je demande à mon prog d'allouer 40 caractère pour un char*et l'allocation se fait tjrs sur seulement 4 caractèrespourquoi? DLL et allocation mémoire [ par Bebert37 ] Bonjour à tous,J'ai un petit problème de désallocation mémoire avec une DLL.Une Dll alloue de la mémoire pour une programme tièrce, lorsque ce progra allocation mémoire CListbox [ par ricky78 ] Bonjour j'ai une application qui permet de recuperer via une RS232 des numéro d'identifiant d'étiquette RFID. C'est identifiant sont en faite un nombr allocation de la mémoire [ par imanedaoudi ] Salut,j'ai un tableaufloat *Tas1;Tas1=new float[n];je veux inserer un element dans ce tableau sans passer par un autre. comment je peux l'ajouter?Merc [ c ] Allocation memoire [ par Titi035 ] Bonjour, Je recherche quel serait le meilleur allocateur mémoire pour mon appli embarquée. J'ai 10 Mo de RAM + flash à gérer dans un décodeur Question sur l'allocation de mémoire... [ par kod32 ] Salut,j'ai une question concernant l'allocation de mémoire et notamment l'utilisation de la fonction malloc. Cette fonction permet de pointer vers un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales