Article View: be.comp.programming
Article #9547Dynamische Array in C++
From: Christof Laeremans
Date: Thu, 25 Apr 2002 18:41
Date: Thu, 25 Apr 2002 18:41
161 lines
3983 bytes
3983 bytes
Hallo.
Even de uitleg geven van het programma.
Het moet een x aantal woorden in lezen zoals
Bv.
Er
was
eens
een
hond
die
verliefd
was
op
een
tuinkabouter
Deze worden moeten dan in een grote string komen en als uitvoer geven
Er was eens een hond die verliefd was op een tuinkabouter.
Ziehier de volgende code
-------BEGIN (implementatie van de class LangeString)--------
#include <iostream.h>
#include <string.h>
#include "DGString.h"
#include <ctype.h>
LangeString::LangeString()
{
//Constructor
_lengte = 0;
}
LangeString::~LangeString()
{
//Destructor
delete [] _LangeString;
}
void LangeString::aanmakenDA()
{
_LangeString = new char[1];
*_LangeString = NULL;
}
void LangeString::setString(char string[])
{
_lengte = strlen(string);
if(strlen(_LangeString)==0)
{
strncpy(_LangeString,string,_lengte+1); //+1 om het \0 toe te
voegen.
_LangeString[0] = toupper(_LangeString[0]);
}
else
{
strcat(_LangeString," ");
strncat(_LangeString,string, _lengte);
}
}
char * LangeString::getLangeString()
{
strcat(_LangeString,".");
return _LangeString;
delete [] _LangeString;
}
---------EINDE------------
*******BEGIN(Programma)*********
#include <iostream.h>
#include "DGString.h"
void emptyBuffer();
int main()
{
char string[MAX];
char antwoord;
LangeString Woord;
Woord.aanmakenDA();
do
{
cout<<"Geef een woord in: ";
cin.get(string,MAX);
emptyBuffer();
Woord.setString(string);
cout<<endl;
cout<<"Nog een woord ingeven? (j/n): ";
cin>> antwoord;
cin.get(); //Nodig om de enter om het antwoord in te lezen op te
vangen.
//Anders oneindige lus.
cout<<endl;
}
while( antwoord != 'n');
cout<<endl;
cout<<"De lange string is: "<<Woord.getLangeString();
}
void emptyBuffer()
{
char c;
do
{
cin.get(c);
}
while (c != '\n');
}
*******EINDE***********
Wat is nu het probleem... Als ik deze code run met CodeWarrior op Mac OS X
dan geeft hij geen foutmelding tijdens het compileren en het runnen.
Laat ik dit programma uitvoeren via VC++ dan krijg volgende melding (alleen
bij het uitvoeren van het programma, niet tijdens het compileren.)
Debug Error !
DAMAGE: after Normal block (#43) at 0x00300040
En nu stel ik me de vraag. Heb ik nu een array die zich zelf groter kan
maken of is het gewoon Windows of Mac OS X dat niet normaal doet.
Alvast bedankt voor eventuele tips.
Mvg,
Christof Laeremans
Technical Details
Message-ID:
<B8EE1A81.2010%christof_laeremans@hotmail.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!207.217.77.43.MISMATCH!newsfeed1.earthlink.net!newsfeed.earthlink.net!news.maxwell.syr.edu!colt.net!newspeer.clara.net!news.clara.net!skynet.be!skynet.be!news.be.wanadoo.com!news.wanadoo.be!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,d8a342a4bf67824a,start X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-04-25 11:41:47 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!207.217.77.43.MISMATCH!newsfeed1.earthlink.net!newsfeed.earthlink.net!news.maxwell.syr.edu!colt.net!newspeer.clara.net!news.clara.net!skynet.be!skynet.be!news.be.wanadoo.com!news.wanadoo.be!not-for-mail From: Christof Laeremans <christof_laeremans@hotmail.com> Newsgroups: be.comp.programming Subject: Dynamische Array in C++ Date: Thu, 25 Apr 2002 20:41:37 +0200 Organization: Wanadoo Belgium Lines: 163 Message-ID: <B8EE1A81.2010%christof_laeremans@hotmail.com> NNTP-Posting-Host: adsl-143-191.wanadoo.be Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Trace: sinclair.be.wanadoo.com 1019760101 1401392 213.177.143.191 (25 Apr 2002 18:41:41 GMT) X-Complaints-To: abuse@wanadoo.be NNTP-Posting-Date: Thu, 25 Apr 2002 18:41:41 +0000 (UTC) User-Agent: Microsoft-Entourage/10.0.0.1309