begin process at 2012 02 12 12:42:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Fichier & Disque

 > 

Malloc et mémoire affectée


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

Malloc et mémoire affectée

mercredi 4 avril 2007 à 14:56:17 | Malloc et mémoire affectée

Chop_chop

Bonjour,

J'ai un petit soucis quant à l'allocation de mémoire pour un char* avec l'utilisation de malloc.
Voici mon code (bien allégé) :

[CODE]
char *fichier;
int taille =1504;

 if(fichier = (char*)malloc(taille))
          {
                       
                len = strlen( fichier );
                printf("Taille = %i \n", len);
                ...
                //mon code
          }
[/CODE]

Lorsque je fais mon printf, la taille affichée est 1520 (alors que cela devraot etre 1504, non?).
De plus, lorsque j'affiche ma chaine "fichier" non remplie, j'obtiens en fin de chaine " ²²²²????????¯?¯? " qui correspondent à ces 16 car en trop...

Comment rectifier le problème et faire en sorte que fichier ne contienne que 1504 char sans les indésirables de la fin ?

Merci
mercredi 4 avril 2007 à 15:43:15 | Re : Malloc et mémoire affectée

yoyo269

Membre Club
Salut !

strlen() te donne la position du premier '0' (caractère de fin de chaine) trouvé. Donc elle compte tant qu'elle n'en trouve pas.
Si tu veux la taille allouée par le malloc, il faut utiliser _msize() je crois (#include <malloc.h>).

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
____________________________________________
[Site officiel de YoyoCut, découpe fichiers open source]

mercredi 4 avril 2007 à 19:45:43 | Re : Malloc et mémoire affectée

clempar55

Ici tu alloue de la mémoire mais elle n'est pas initialisée automatiquement. Le contenu de fichier est donc aléatoire et la position du premier '0' aussi et donc strlen renvoie aussi un résultat aléatoire.
Il faut que tu initialise manuellement ta memoire
mercredi 4 avril 2007 à 20:13:47 | Re : Malloc et mémoire affectée

Matt67

Bonsoir,

La taille allouée par malloc est taille si le pointeur retourné est different de NULL.

Matt...


Cette discussion est classée dans : fichier, taille, code, char, malloc


Répondre à ce message

Sujets en rapport avec ce message

Taille de ma structure [ par crocejf2000 ] Salut a tous, J'ai un tres gros probleme qui me bloque toute mon avancé dans mon prog : j'ai une structure : typedef struct{ unsigned short Locate; ch envoi de fichier par socket [ par Anacr0x ] bon vouala, j'ai crée un serveur et un client, tt se passe bien, il parle entre eux et tt et tt. Par contre, quan je veu envoyer un fichier, ca merd ! Erreurs de compilations bizarres avec Visual C++ 6 [ par VTS_35 ] Bonjour,G encore des problèmes de compilation avec mon programme. Je me suis rendu compte que le programme allait devenir balaise, alors j'ai décidé d SOS manque d'inspiration [ par graall ] J'ai besoin de faire un petit programme (en mode console) qui demande à l'utilisateur de saisir le nom d'un fichier et ensuite, qui vérifie si ce fich Corrigez mon code? Comment récupérer la taille d'un fichier? [ par supergrey ] Bonjour j'utilise pour l'instant la fonction suivante pour récupérer la taille d'un fichier: DWORD TailleFichier(char* str_NomFichier){     HANDLE hFi lecture fichier [c++ builder] [ par SaXo360 ] Bonjour, je lis dans un fichier des noms séparé par ce caractèere ';' et je devrait afficher ces noms dans mon combobox mais cane veut pas pourtant je taille Fichier avec malloc et realloc [ par halima ] Au secours!!!Slt j'aimerai creer un fichier (de mot) mais en allouant dynamiquement  la  la taille (avec malloc et realloc). un mot a au plus 100 cara aide sur malloc [ par miki42 ] bonjour a tous je debute et j'ai du mal avec un bout de code trouver sur le net j'aurai aimer une petite explication si possible: [CODE] char *pbu les fichier en C [ par abdobergach ] bonjour j'ai un erreur qui je connais pas pouquoi qlq'un m'aider svp,voila l'eerreur: error C2664: 'CreateFileW'*: impossible de convertir le paramètr Problème pour stoker une string dans un char* [ par Faroww ] Salut, Alors voici mon problème j'utilise une OpenFileDialog (Parcourir)pour permette a l'utilisateur de choisir un fichier. Je récupéré le patch du


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,075 sec (4)

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