delorie.com/archives/browse.cgi | search |
From: | "Nigz" <n DOT bachmannNO AT SPAMcardiff DOT govOK DOT uk!> |
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: | <QAl45.6554$_55.140617@news2-win.server.ntlworld.com> |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |