Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Allocation dynamique [ Archives / Au secours ] (cybermatthieu)

mercredi 16 juillet 2003 à 21:27:31 | Allocation dynamique

cybermatthieu

Bonjours,
Je suis en train de construire une App qui comporte une class qui comprend 12 pointeur a Char et leur fonction. Le probleme est que j'inicialise tout mes pointeur avec mon constructeur sans parametre et lorsque que je veux modifier mes "strings" je l'ai delete puis ensuite je realoue la memoire en fonction du nouveau "string". Lorsque que j'essaie de lire le "string" le message suivant apparait :the memory could not be "written". Chose etrange, cela ce produit seulement si j'essaie de realouer de 13 a 45 Char si j'essaie d'allouer moin de 12 ou plus de 45 CA fonctione!

Je ne comprend vraiment pas!
merci,
Matt
voici la class:
class Permit{
char *no;
char *num;
char *holder;
char *detenteur;
char *modeOfTransport;
char *modeDeTransport;
char *issueDate;
char *emissionDate;
char *expiryDate;
char *expirationDate;
char *realFileName;
char *goodFileName;


Permit();
Permit( char no[], char num[], char holder[], char detenteur[],
char modeOfTransport[], char modeDeTransport[], char issueDate[],
char emissionDate[], char expiryDate[], char expirationDate[]);
Permit( char no[], char num[], char holder[], char detenteur[],
char modeOfTransport[], char modeDeTransport[], char issueDate[],
char emissionDate[], char expiryDate[], char expirationDate[],
char realFileName[], char goodFileName[]);
Permit(char fName[], char fPath[]);
Permit(Permit &permit);
~Permit();

public:
void afficher();
char * getGoodName( char no[], char expDate[]);
int setFilePermit(char fName[], char fPath[]);
void zero();

friend ostream& operator<<( ostream &out, const Permit &p);
friend ofstream& operator<<( ofstream &out, const Permit &p);
friend void main();
};


jeudi 17 juillet 2003 à 22:15:20 | Re : Allocation dynamique

fced42

Tu alloue bien avec new et tu efface avec delete[]
ou tu utilise malloc avec realloc et free?
cedric@4devstudio.com


-------------------------------
Réponse au message :
-------------------------------

> Bonjours,
> Je suis en train de construire une App qui comporte une class qui comprend 12 pointeur a Char et leur fonction. Le probleme est que j'inicialise tout mes pointeur avec mon constructeur sans parametre et lorsque que je veux modifier mes "strings" je l'ai delete puis ensuite je realoue la memoire en fonction du nouveau "string". Lorsque que j'essaie de lire le "string" le message suivant apparait :the memory could not be "written". Chose etrange, cela ce produit seulement si j'essaie de realouer de 13 a 45 Char si j'essaie d'allouer moin de 12 ou plus de 45 CA fonctione!
>
> Je ne comprend vraiment pas!
> merci,
> Matt
> voici la class:
> class Permit{
> char *no;
> char *num;
> char *holder;
> char *detenteur;
> char *modeOfTransport;
> char *modeDeTransport;
> char *issueDate;
> char *emissionDate;
> char *expiryDate;
> char *expirationDate;
> char *realFileName;
> char *goodFileName;
>
>
> Permit();
> Permit( char no[], char num[], char holder[], char detenteur[],
> char modeOfTransport[], char modeDeTransport[], char issueDate[],
> char emissionDate[], char expiryDate[], char expirationDate[]);
> Permit( char no[], char num[], char holder[], char detenteur[],
> char modeOfTransport[], char modeDeTransport[], char issueDate[],
> char emissionDate[], char expiryDate[], char expirationDate[],
> char realFileName[], char goodFileName[]);
> Permit(char fName[], char fPath[]);
> Permit(Permit &permit);
> ~Permit();
>
> public:
> void afficher();
> char * getGoodName( char no[], char expDate[]);
> int setFilePermit(char fName[], char fPath[]);
> void zero();
>
> friend ostream& operator<<( ostream &out, const Permit &p);
> friend ofstream& operator<<( ofstream &out, const Permit &p);
> friend void main();
> };
>
>

vendredi 18 juillet 2003 à 17:43:02 | Re : Allocation dynamique

cybermatthieu

J'utilise new et delete. Mon projet a avancer... Depuis ce message j'ai trouver l'erreur, mais la j'ai ai rencontrer un autre... :(
La si je roule le programme avec le mode de debugage tout fonctionne a merveille il termine l'execution normalement. Mais si je roule le programme ( sans etre dans le mode de debugage) il plente. Esque j'aurais un fuite de memoire qui arrive a l'occasion mais qu'en debugage ca ne derange pas? Peut-etre devrege demanger une reserve de memoire avant l'execution etant donner que ma class conprend que des pointeurs et que je cree par la suite un tableau ( 1124 ) de ma class?

Merci,
Matt




-------------------------------
Réponse au message :
-------------------------------

> Tu alloue bien avec new et tu efface avec delete[]
> ou tu utilise malloc avec realloc et free?
> cedric@4devstudio.com
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjours,
> > Je suis en train de construire une App qui comporte une class qui comprend 12 pointeur a Char et leur fonction. Le probleme est que j'inicialise tout mes pointeur avec mon constructeur sans parametre et lorsque que je veux modifier mes "strings" je l'ai delete puis ensuite je realoue la memoire en fonction du nouveau "string". Lorsque que j'essaie de lire le "string" le message suivant apparait :the memory could not be "written". Chose etrange, cela ce produit seulement si j'essaie de realouer de 13 a 45 Char si j'essaie d'allouer moin de 12 ou plus de 45 CA fonctione!
> >
> > Je ne comprend vraiment pas!
> > merci,
> > Matt
> > voici la class:
> > class Permit{
> > char *no;
> > char *num;
> > char *holder;
> > char *detenteur;
> > char *modeOfTransport;
> > char *modeDeTransport;
> > char *issueDate;
> > char *emissionDate;
> > char *expiryDate;
> > char *expirationDate;
> > char *realFileName;
> > char *goodFileName;
> >
> >
> > Permit();
> > Permit( char no[], char num[], char holder[], char detenteur[],
> > char modeOfTransport[], char modeDeTransport[], char issueDate[],
> > char emissionDate[], char expiryDate[], char expirationDate[]);
> > Permit( char no[], char num[], char holder[], char detenteur[],
> > char modeOfTransport[], char modeDeTransport[], char issueDate[],
> > char emissionDate[], char expiryDate[], char expirationDate[],
> > char realFileName[], char goodFileName[]);
> > Permit(char fName[], char fPath[]);
> > Permit(Permit &permit);
> > ~Permit();
> >
> > public:
> > void afficher();
> > char * getGoodName( char no[], char expDate[]);
> > int setFilePermit(char fName[], char fPath[]);
> > void zero();
> >
> > friend ostream& operator<<( ostream &out, const Permit &p);
> > friend ofstream& operator<<( ofstream &out, const Permit &p);
> > friend void main();
> > };
> >
> >
>

vendredi 18 juillet 2003 à 18:03:13 | Re : Allocation dynamique

fced42

Ouais, y'a pas mal de difference d'execution entre le mode debug et le release mais ca peut venir de plein de chose. Essaye d'isoler la zone ou ca deconne pour mieux voir.
C'est long et chiant mais faut bien y passer.
cedric@4devstudio.com


-------------------------------
Réponse au message :
-------------------------------

> J'utilise new et delete. Mon projet a avancer... Depuis ce message j'ai trouver l'erreur, mais la j'ai ai rencontrer un autre... :(
> La si je roule le programme avec le mode de debugage tout fonctionne a merveille il termine l'execution normalement. Mais si je roule le programme ( sans etre dans le mode de debugage) il plente. Esque j'aurais un fuite de memoire qui arrive a l'occasion mais qu'en debugage ca ne derange pas? Peut-etre devrege demanger une reserve de memoire avant l'execution etant donner que ma class conprend que des pointeurs et que je cree par la suite un tableau ( 1124 ) de ma class?
>
> Merci,
> Matt
>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Tu alloue bien avec new et tu efface avec delete[]
> > ou tu utilise malloc avec realloc et free?
> > cedric@4devstudio.com
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjours,
> > > Je suis en train de construire une App qui comporte une class qui comprend 12 pointeur a Char et leur fonction. Le probleme est que j'inicialise tout mes pointeur avec mon constructeur sans parametre et lorsque que je veux modifier mes "strings" je l'ai delete puis ensuite je realoue la memoire en fonction du nouveau "string". Lorsque que j'essaie de lire le "string" le message suivant apparait :the memory could not be "written". Chose etrange, cela ce produit seulement si j'essaie de realouer de 13 a 45 Char si j'essaie d'allouer moin de 12 ou plus de 45 CA fonctione!
> > >
> > > Je ne comprend vraiment pas!
> > > merci,
> > > Matt
> > > voici la class:
> > > class Permit{
> > > char *no;
> > > char *num;
> > > char *holder;
> > > char *detenteur;
> > > char *modeOfTransport;
> > > char *modeDeTransport;
> > > char *issueDate;
> > > char *emissionDate;
> > > char *expiryDate;
> > > char *expirationDate;
> > > char *realFileName;
> > > char *goodFileName;
> > >
> > >
> > > Permit();
> > > Permit( char no[], char num[], char holder[], char detenteur[],
> > > char modeOfTransport[], char modeDeTransport[], char issueDate[],
> > > char emissionDate[], char expiryDate[], char expirationDate[]);
> > > Permit( char no[], char num[], char holder[], char detenteur[],
> > > char modeOfTransport[], char modeDeTransport[], char issueDate[],
> > > char emissionDate[], char expiryDate[], char expirationDate[],
> > > char realFileName[], char goodFileName[]);
> > > Permit(char fName[], char fPath[]);
> > > Permit(Permit &permit);
> > > ~Permit();
> > >
> > > public:
> > > void afficher();
> > > char * getGoodName( char no[], char expDate[]);
> > > int setFilePermit(char fName[], char fPath[]);
> > > void zero();
> > >
> > > friend ostream& operator<<( ostream &out, const Permit &p);
> > > friend ofstream& operator<<( ofstream &out, const Permit &p);
> > > friend void main();
> > > };
> > >
> > >
> >
>



Cette discussion est classé dans : class, num, char, essaie, permit


Répondre à ce message

Sujets en rapport avec ce message

c++, conversion char to const char [ par freekid ] char num;         cout /dev/modem         cin>>num;  &nbs Pb Class et pointeur ... [ par payen ] salut a tous,j'ai un petit probleme en C++: j'ai definit une class CImage, avec entre autre, un pointeur vers une variable de type char (char *nom_ima Crash a l'execution mais non en mode de debuggage [ par cybermatthieu ] La si je roule le programme avec le mode de debugage tout fonctionne a merveille il termine l'execution normalement. Mais si je roule le programme ( s convertion d'une class perso en unsigned char [ par waza ] Salut moi j'ai un probléme de converstion dune classe perso en unsigned char. vc++ me met :"cannot convert from 'class perso' to 'unsigned char'No use Probleme a l'acces a une class [ par VBFRANCE ] Je suis tout nouveau dans la C++, en fait je decouvre. j'ai un soucis avec les class. En fait, j'ai creer un class pour les strings, jusque la pas de Une Class et des Char ... [ par Tidam ] Vala j'ai un petit probleme avec ma source :class Test{public: Test (char initialName[15]); char LireName() const { return wName; } void DefName (char permuter class avec pointeur this [ par sakjimh ] salut,j'ai creer une classe "personne" (voir si dessous) et une methode qui permute deux personne mais le resultat reste incorrecte malgré que j'ai bi reecrire une class en C [ par raoultate ] Salut!Voilà, j'aimerais pouvoir porter ce bout de code en C, ce fichier est un fichier *.h  Code :#ifndef __HTTPGET_URL__< prob de Class [ par T_Mehdi ] salut a tous^^bon j'ai 2 classe  :class C_Load_File{ C_Load_File(); ~C_Load_File();public : bool Load_Bmp(char* File); bool Load_Jpg(char *File);};cla variable class [ par T_Mehdi ] salut a tous bon j'ai la clase suivante : CODE class WGEL{<BR


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.