begin process at 2010 02 10 10:04:02
  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 lire un fichier ligne par ligne [ par jOlcoWboY ] Bien le bonjour, je me suis fait un 'tit bou de code afin de lire un fichier texte ligne par ligne. Je voulais juste savoir si il avait des améliorati pb de taille de fichier [ par aio13 ] Bonjour, mon problème que dans mon code   je  utilise la fonction fpoen pour ouvrir un fichier, mais la taille de fichier est 3,8 Go, il n'y a pas une


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,343 sec (3)

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