/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
irriterende problem med input bufferen. og~
Fra : Flare


Dato : 21-06-02 23:29

(win 32 C++)

Jeg sidder og roder med et program som skal indsætte (og udtage) nogle ting
i en Mysql database. Det er nu ikke der problemet ligger. Det er når jeg har
brugt getch() fra conio jeg får problemer. Den efterlader åbenbart noget i
bufferen sometider. Dette problem kunne jeg dog let løse HVIS jeg kunne
benytte cin.ignore. Men idet jeg bruger en 3.parts SQL API (MYsql+++) har
jeg fået et stort problem. Jeg kan ikke bruge cin.ignore. Jeg får følgende
fejl meddelelse i VC6.0

>> error C2039: 'mysql_ignore' : is not a member of
'basic_istream<char,struct std::char_traits<char> >'

Der er åbenbart et eller andet denne API går ind og roder i. Jeg ved ikke om
nogen har en løsning på dette. Hvis ikke, er der så nogen der ved om man kan
"måle" på om input bufferen er tom eller ej? Fx. if (!cin.???) eller noget i
den stil, for jeg kan jo desværer ikke flushe stdin bufferen.

Tak på forhånd
Anders





 
 
Jonas Meyer Rasmusse~ (21-06-2002)
Kommentar
Fra : Jonas Meyer Rasmusse~


Dato : 21-06-02 23:42

"Flare" <dct_flare@hotmail.com> wrote in message
news:3d13a8cb$0$71616$edfadb0f@dspool01.news.tele.dk...
> >> error C2039: 'mysql_ignore' : is not a member of
> 'basic_istream<char,struct std::char_traits<char> >'

Det kunne tyde på at biblioteket, ganske upassende, bruger en makro noget
lignende:

#define ignore mysql_ignore

Du kan prøve det ved at #undef den, det vil jeg gætte på virker
altså:

#include "mysqlheader..."
#undef ignore

mvh Jonas



Flare (22-06-2002)
Kommentar
Fra : Flare


Dato : 22-06-02 18:24

Det løste problemet, eller det gjorde det faktisk ikke. Ignorer gav ikke det
rigitge resultat
-------
<conio.h>
var = getch();
cin >> var2;
-------
Dette stykke kode virker fint på en win2000/XP console, men på en ME / 98
som bygger på "rigtig" dos "hænger" den indtastede karakter fra getch som
det første tegn i CIN´et.

Hvordan FAEN undgår jeg det? Kan man ikke benytte et getch() før et cin i
win98 /me????

Har prøvet ALT jeg kender til inout buffer og tømning etc. cin.ignore,
fflush(stdin), cin.sync, cin.clear ......intet virker...getch tegnet kommer
stadig med i mit cin felt.

Håber nogen kan hjælpe..
Anders






Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste