🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #2241

Re: Probleem met strings in C++

#2241
From: Kurt Bosmans
Date: Sun, 25 Jul 2004 13:39
30 lines
1793 bytes
> char *strlwr (char* tekst){
>   int aantal=strlen(tekst);
>   char* res = new char[aantal];
>   for(int i=0; i<aantal; i++)
>     res[i]=tolower(tekst[i]);
>   return res;
> }

Buiten het feit dat je hier een memory leak hebt (new maar nergens 
delete), vergeet je ook je resultaat string "res" te terminaten. Een 
"c" string moet altijd eindigen met een '\0' karakter. Hierdoor zal je 
programma "soms" werken en "soms" niet, afhankelijk van er toevallig in 
je geheugen zat.

Dus je functie zou er als volgt moeten uitzien:

char *strlwr (char* tekst)
{
	int aantal=strlen(tekst);
	char* res = new char[aantal + 1]; // 1tje meer alloceren
	for(int i=0; i<aantal; i++)
		res[i]=tolower(tekst[i]);
	res[i] = '\0'; // string terminaten!
  	return res;
}

En uiteraard moet "res" ergens met een "delete[]" terug vrijgegeven 
worden door de code die deze functie oproept...

Kurt
Technical Details
Message-ID: <4103b80b$0$6416$ba620e4c@news.skynet.be>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!nnx.oleane.net!oleane!news.agarik.com!skynet.be!newspost001!tjb!not-for-mail
References: <6jKAc.159880$da2.8238210@phobos.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Thread: fcea4,f17987ac718646c6
X-Google-Attributes: gidfcea4,public
X-Google-Language: DUTCH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!nnx.oleane.net!oleane!news.agarik.com!skynet.be!newspost001!tjb!not-for-mail
From: Kurt Bosmans <kurt@NOSPAM.omicron.be>
Organization: Omicron bvba
Newsgroups: be.comp.programming
Date: Sun, 25 Jul 2004 15:39:24 +0200
Message-ID: <4103b80b$0$6416$ba620e4c@news.skynet.be>
References: <6jKAc.159880$da2.8238210@phobos.telenet-ops.be>
User-Agent: Unison/1.0.2a
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: Re: Probleem met strings in C++
Lines: 31
NNTP-Posting-Host: 81.241.45.5
X-Trace: 1090762764 news.skynet.be 6416 81.241.45.5:32993
X-Complaints-To: usenet-abuse@skynet.be