[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] getch() virker ikke



On 04 Dec 2003 14:30:25 +0100
Egon Petersen <sslug@sslug> wrote:

> Så vidt jeg ved venter getch ikke på en enter. I hvert fald ikke under
> andre platforme, dvs. under windows C++.

> Jeg anvender i øvrigt Kdevelop til at skrive, kompile og linke mine
> programmer.

Har du fundet ud af at få det til at køre? 

Den getch(), som du kender fra MS-VisualStudio, er en såkaldt
rawio, som stopper programmet indtil næste tastetryk, og som læser
alt (d.v.s. også ctrl-C m.v.) og som ikke laver echo på skærmen.

Det Linux-system, der ligner mest, er at bruge curses (New Cursor
Control Library) - det er færdigt, klar til brug, men i mange
situationer kan man ikke bruge det.

Derfor kan man gå et niveau ned og se på IO-mekanismerne. Den
getc, som man bruger i libc (både C og C++), defaulter til
buffered IO, d.v.s. programmet bliver stoppet, indtil du taster
<return>. Når det kører, får det alle de tastetryk, der hører til
den linie, som kommer før <return> - deraf udtrykket
line-buffering.

Det kan man slå fra med en stty kommando, eller inde i programmet
med noget ioctl(2) som er lidt svært at huske/forklare, jeg har et
library, som gør det for mig.

Sig til, hvis du vil vide mere.




-- 
donald_j_axel(at)get2net.dk -- http://d-axel.dk/


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:10 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *