Article View: be.comp.programming
Article #7987Re: [c] eigen getline vereist soms een extra enter voordat hij werkt
From: Luc Kumps
Date: Thu, 11 Jul 2002 09:22
Date: Thu, 11 Jul 2002 09:22
47 lines
2391 bytes
2391 bytes
"Sven Vermeulen" <svenPUNTJEvermeulen@rug.ac.be> wrote in message
news:5LbX8.2783$QS3.541@afrodite.telenet-ops.be...
> Ieps,
>
> Ik heb een getline-functie gemaakt die als volgt werkt (overgenomen van
> verschillende websites):
>
>
> void getline(char s[], int lim)
> {
> int c = 0, j;
>
> while (getchar() != '\n');
>
> for (j = 0; j < lim - 1 && (c = getchar()) != EOF && c != '\n';
++j)
> s[j] = c;
>
> }
1. 's' wordt niet getermineerd met een 0. Is dat geen vergetelheid?
2. de oproeper wordt niet op de hoogte gebracht van een EOF conditie!
3. misschien kun je beter gebruik maken van
if (NULL==fgets(s,lim,stdin)) {
// EOF processing???
// return empty string
s[0] = 0;
}
else {
// Bij fgets moet je wel zelf het newline character weer uit de buffer
halen, bv met
if (strlen(s)>0)
s[strlen(s)-1] = 0;
}
> getline(person.name, 30);
Misschien zou je beter
getline(person.name, sizeof(person.name));
gebruiken. Als dan later de grootte van de buffer wordt veranderd, dan moet
je dat niet op twee plaatsen gaan aanpassen...
Luc
Technical Details
Message-ID:
<f7cX8.2831$QS3.568@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-01!sn-xit-08!supernews.com!feed.textport.net!news-out.newsfeeds.com!propagator2-maxim!propagator-maxim!news-in.spamkiller.net!news.mailgate.org!newsfeed.icl.net!newsfeed.fjserv.net!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<5LbX8.2783$QS3.541@afrodite.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,e8f39528eabe5a61 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-07-11 02:28:00 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-01!sn-xit-08!supernews.com!feed.textport.net!news-out.newsfeeds.com!propagator2-maxim!propagator-maxim!news-in.spamkiller.net!news.mailgate.org!newsfeed.icl.net!newsfeed.fjserv.net!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail From: "Luc Kumps" <NOkumpsSPAM@pandora.be> Newsgroups: be.comp.programming References: <5LbX8.2783$QS3.541@afrodite.telenet-ops.be> Subject: Re: [c] eigen getline vereist soms een extra enter voordat hij werkt Lines: 50 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Message-ID: <f7cX8.2831$QS3.568@afrodite.telenet-ops.be> Date: Thu, 11 Jul 2002 09:22:19 GMT NNTP-Posting-Host: 213.118.65.60 X-Complaints-To: abuse@telenet.be X-Trace: afrodite.telenet-ops.be 1026379339 213.118.65.60 (Thu, 11 Jul 2002 11:22:19 MET DST) NNTP-Posting-Date: Thu, 11 Jul 2002 11:22:19 MET DST Organization: Telenet Internet