Thread View: be.comp.programming
9 messages
9 total messages
Started by brambi
Tue, 14 Jan 2003 18:51
c vraagje
Author: brambi
Date: Tue, 14 Jan 2003 18:51
Date: Tue, 14 Jan 2003 18:51
9 lines
1324 bytes
1324 bytes
Hips, Ik heb een string *item_text. Strikt genomen is het geen string omdat hij niet \0-terminated is. En dat is ook het probleem. Ik ken de lengte i en ik wil die string sluiten met \0 na i tekens. Ik heb het al geprobeert met memcpy maar het wil maar niet lukken. Heeelp ;) Bram.
Re: c vraagje
Author: Staf Wagemakers
Date: Tue, 14 Jan 2003 19:03
Date: Tue, 14 Jan 2003 19:03
16 lines
1537 bytes
1537 bytes
In article <E_YU9.11882$ym5.1854@afrodite.telenet-ops.be>, brambi wrote: > Ik heb een string *item_text. Strikt genomen is het geen string omdat hij > niet \0-terminated is. En dat is ook het probleem. Ik ken de lengte i en ik > wil die string sluiten met \0 na i tekens. Ik heb het al geprobeert met > memcpy maar het wil maar niet lukken. > item_text[i]='\0'; Zorg er wel voor er voldoende geheugen in item_text voorhanden is. -- Staf Wagemakers email : staf@patat.org homepage : http://staf.patat.org
Re: c vraagje
Author: brambi
Date: Tue, 14 Jan 2003 20:07
Date: Tue, 14 Jan 2003 20:07
27 lines
1977 bytes
1977 bytes
Staf Wagemakers wrote:
> In article <E_YU9.11882$ym5.1854@afrodite.telenet-ops.be>, brambi wrote:
>> Ik heb een string *item_text. Strikt genomen is het geen string omdat hij
>> niet \0-terminated is. En dat is ook het probleem. Ik ken de lengte i en
>> ik wil die string sluiten met \0 na i tekens. Ik heb het al geprobeert
>> met memcpy maar het wil maar niet lukken.
>>
>
> item_text[i]='\0';
>
> Zorg er wel voor er voldoende geheugen in item_text voorhanden is.
Nope werkt niet..
Dit is de declaratie van item_text:
char *item_text;
Dit de functie (ik heb i even door 4 vervangen om te testen):
item_text[4]= '\0';
En dit is de foutmelding:
Program received signal SIGSEGV, Segmentation fault.
0x804bf93 in printFname (unused=0x0, pSearchMatch=0x4260ff10,
summary_info=0x4260ff48) at main.c:408
408 item_text[4]= '\0';
Bram.
Re: c vraagje
Author: brambi
Date: Tue, 14 Jan 2003 20:08
Date: Tue, 14 Jan 2003 20:08
18 lines
1612 bytes
1612 bytes
Staf Wagemakers wrote: > In article <E_YU9.11882$ym5.1854@afrodite.telenet-ops.be>, brambi wrote: >> Ik heb een string *item_text. Strikt genomen is het geen string omdat hij >> niet \0-terminated is. En dat is ook het probleem. Ik ken de lengte i en >> ik wil die string sluiten met \0 na i tekens. Ik heb het al geprobeert >> met memcpy maar het wil maar niet lukken. >> > > item_text[i]='\0'; > > Zorg er wel voor er voldoende geheugen in item_text voorhanden is. > Overigens bedankt voor je cursusje c. Handig om een aantal dingen op te frissen :) Bram.
Re: c vraagje
Author: brambi
Date: Tue, 14 Jan 2003 20:39
Date: Tue, 14 Jan 2003 20:39
18 lines
1679 bytes
1679 bytes
brambi wrote: > Staf Wagemakers wrote: > >> In article <E_YU9.11882$ym5.1854@afrodite.telenet-ops.be>, brambi wrote: >>> Ik heb een string *item_text. Strikt genomen is het geen string omdat >>> hij niet \0-terminated is. En dat is ook het probleem. Ik ken de lengte >>> i en ik wil die string sluiten met \0 na i tekens. Ik heb het al >>> geprobeert met memcpy maar het wil maar niet lukken. >>> >> Opgelost. Er zat ook nog een foutje boven iets boven die code. Uiteindelijk heb ik het met strncpy gedaan. Tnx Bram.
Re: c vraagje
Author: MaG
Date: Tue, 14 Jan 2003 21:06
Date: Tue, 14 Jan 2003 21:06
34 lines
2225 bytes
2225 bytes
"brambi" <bramNOSPAM@bram.be> schreef in bericht news:b7_U9.12024$ym5.1534@afrodite.telenet-ops.be... > Staf Wagemakers wrote: > > > In article <E_YU9.11882$ym5.1854@afrodite.telenet-ops.be>, brambi wrote: > >> Ik heb een string *item_text. Strikt genomen is het geen string omdat hij > >> niet \0-terminated is. En dat is ook het probleem. Ik ken de lengte i en > >> ik wil die string sluiten met \0 na i tekens. Ik heb het al geprobeert > >> met memcpy maar het wil maar niet lukken. > >> > > > > item_text[i]='\0'; > > > > Zorg er wel voor er voldoende geheugen in item_text voorhanden is. > > > > Overigens bedankt voor je cursusje c. Handig om een aantal dingen op te > frissen :) > > Bram. 't Is nog altijd fout zenne, Staf schrijft dat je voldoende geheugen moet voorzien en dat doe je niet! Je declareert item_text als een pointer en die heeft dus geen 'geheugen' voor die string. Als item_text toevallig naar een stuk geheugen wijst waar jij in mag schrijven zal het werken, anders niet. Maar als het werkt zal je wel ergens anders rare dingen zien gebeuren... :-)) MaG
Re: c vraagje
Author: brambi
Date: Tue, 14 Jan 2003 21:23
Date: Tue, 14 Jan 2003 21:23
41 lines
2527 bytes
2527 bytes
MaG wrote: > > "brambi" <bramNOSPAM@bram.be> schreef in bericht > news:b7_U9.12024$ym5.1534@afrodite.telenet-ops.be... >> Staf Wagemakers wrote: >> >> > In article <E_YU9.11882$ym5.1854@afrodite.telenet-ops.be>, brambi >> > wrote: >> >> Ik heb een string *item_text. Strikt genomen is het geen string omdat > hij >> >> niet \0-terminated is. En dat is ook het probleem. Ik ken de lengte i > en >> >> ik wil die string sluiten met \0 na i tekens. Ik heb het al geprobeert >> >> met memcpy maar het wil maar niet lukken. >> >> >> > >> > item_text[i]='\0'; >> > >> > Zorg er wel voor er voldoende geheugen in item_text voorhanden is. >> > >> >> Overigens bedankt voor je cursusje c. Handig om een aantal dingen op te >> frissen :) >> >> Bram. > > 't Is nog altijd fout zenne, Staf schrijft dat je voldoende geheugen moet > voorzien en dat doe je niet! > Je declareert item_text als een pointer en die heeft dus geen 'geheugen' > voor die string. > Als item_text toevallig naar een stuk geheugen wijst waar jij in mag > schrijven zal het werken, anders > niet. Maar als het werkt zal je wel ergens anders rare dingen zien > gebeuren... :-)) Bwa daartussen heb ik nog een paar memcpy geploft en alles lijkt toch te werken :-p. Rare dingen? ik zit aan regel 424 en ik heb er nog geen ��ne normale gezien ;) Bram.
Re: c vraagje
Author: edg
Date: Thu, 16 Jan 2003 01:03
Date: Thu, 16 Jan 2003 01:03
39 lines
2297 bytes
2297 bytes
"brambi" <bramNOSPAM@bram.be> schreef in bericht news:m6_U9.12023$ym5.1832@afrodite.telenet-ops.be... > Staf Wagemakers wrote: > > > In article <E_YU9.11882$ym5.1854@afrodite.telenet-ops.be>, brambi wrote: > >> Ik heb een string *item_text. Strikt genomen is het geen string omdat hij > >> niet \0-terminated is. En dat is ook het probleem. Ik ken de lengte i en > >> ik wil die string sluiten met \0 na i tekens. Ik heb het al geprobeert > >> met memcpy maar het wil maar niet lukken. > >> > > > > item_text[i]='\0'; > > > > Zorg er wel voor er voldoende geheugen in item_text voorhanden is. > > Nope werkt niet.. > Dit is de declaratie van item_text: > char *item_text; een pointer alleen is niet voldoende, je moet ook nog geheugen reserveren voor die pointer item_next = new char[20]; ofwel een array gebruiken char item_next[20]; > > Dit de functie (ik heb i even door 4 vervangen om te testen): > item_text[4]= '\0'; > > En dit is de foutmelding: > Program received signal SIGSEGV, Segmentation fault. > 0x804bf93 in printFname (unused=0x0, pSearchMatch=0x4260ff10, > summary_info=0x4260ff48) at main.c:408 > 408 item_text[4]= '\0'; > > Bram.
Re: c vraagje
Author: Keyser Soze
Date: Fri, 17 Jan 2003 18:20
Date: Fri, 17 Jan 2003 18:20
18 lines
1983 bytes
1983 bytes
> Bwa daartussen heb ik nog een paar memcpy geploft en alles lijkt toch te > werken :-p. Rare dingen? ik zit aan regel 424 en ik heb er nog geen ��ne > normale gezien ;) Je rijdt rond met een auto met kale banden. Hij lijkt goed te rijden, en je hebt nog geen klapbanden gehad. Je bent goed bezig! Volgens de wet van Murphy zal je programma niet crashen zolang jij het gebruikt, maar wel bij de eerste klant waaraan je het laat zien, en de klant zal het direct in de prullenmand gooien. Zeker als je begint met C leer je beter de juiste manieren om met pointers om te gaan. Anders neem je beter Java of C#. Toch wens ik je nog veel plezier met C, Keyser Soze
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads