From: "Nigz" Newsgroups: comp.os.msdos.djgpp Subject: getline problem Lines: 41 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2919.6600 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Message-ID: Date: Thu, 22 Jun 2000 11:09:27 +0100 NNTP-Posting-Host: 194.168.45.250 X-Complaints-To: abuse AT net DOT ntl DOT com X-Trace: news2-win.server.ntlworld.com 961668528 194.168.45.250 (Thu, 22 Jun 2000 11:08:48 BST) NNTP-Posting-Date: Thu, 22 Jun 2000 11:08:48 BST Organization: ntl Business News Service To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I am using rhide & have the following segment of code: cin.getline(forename,20); /* then to empty buffer */ if(strlen(forename)==19) { cin.get(ch); while(ch != '\n') cin.get(ch); } This I believe is correct - it compiles ok, but if I enter a forename of greater length than 20 chars - it hangs or appears to go into an infinite loop, however if I try to print the characters nothing shows on the screen, it's as if it is printing infinite spaces i.e. it clears the screen. If I do the following count=0; cin.getline(forename,20); /* then to empty buffer */ if(strlen(forename)==19) { cin.get(ch); while(ch != '\n') cin.get(ch); count++; if(count == 50)break; } There is obviously something still in the buffer even though I entered a forename of 'say' 30 chars, Am I being really stupid or is this a bug, many thanks.... -- Regards Nigz