30. april 2003 - 15:57Der er
8 kommentarer og 1 løsning
C problemer Linux. Indtastning fra keyboard
Hej
Jeg er ved at lave et C program under Linux. Her skal jeg kunne lave nogle menu valg, ved at bruge taster et tal eller bogstav. det fungerer så vidt også fint. men det er som om at efter første gang jeg har læst ind bliver der noget i den buffer der indlæses i.
Hvordan gør jeg bedst når jeg skal læse ind?? Det jeg vil have ind er f.eks. 1 eller 2 eller 3 eller q. andre steder vil jeg gerne have værdier som 23 45 skal kunne indlæses...OG det er som sagt til Linux
Hvis dem der designede stdio for 30 år siden havde tænkt sig om så have der været: fgets - til at læse fra fil - med 3 argumenter buffer+bufferstørrelse+filpointer gets - til at læse fra input - med 2 argumenter buffer+filpointer
Det er der imidlertid ikke. Der er: fgets - til at læse fra fil - med 3 argumenter buffer+bufferstørrelse+filpointer gets - til at læse fra input - med 1 argument buffer
Derfor kan gets bruges til bufferoverflow.
Og derfor er der mange som vælger i.s.f. den ikke eksisterende:
stdin er en fil-pointer til keyboard som bare er der.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.