C-Problem, løbende indlæsning
Hej
Jeg sidder med endnu et C-problem
Jeg har behov for at undlæse en tekst, problemet er at det skal foregå løbende.
Dette skyldes at jeg i en uendelig løkke både skal indlæse tekst, sende og modtage til og fra COM-porten og derfor kan den ikke bare stå og vente på at brugeren får indtastet hele sin besked.
har forsøgt med
while(1)
{
if (kbhit()!=0)
{
if ((c=getchar()) != '\n')
{
myString[i]=(char)c;
i=i+1;
}
else
{
//Her sker der så ting og sager med input
}
}
//MODTAG
//SEND
// Evt delay hvis nødvendigt
}
Der sker her dette at ordren bliver indtastet, enter trykkes og det indtastede bliver echoed til konsollen. Men der reageres først på det indtastede ved det efterfølgende tastetryk. Er det muligt at få den til at reagere når brugeren trykker enter ?
Formodentlig benytter jeg kbhit forkert.
- Log in to post comments
Kommentarer2
Re: C-Problem, løbende indlæsning
< disclaimer >Jeg er ikke C-mand, så dette er kun et forslag:
< /disclaimer >
Skal du ikke reagere på Enter for at fortælle programmet, at indtastningen er færdig? F.eks.
if ((c=getchar()) = '\n')
{
input_ready=true;
}
Brug peek()
Syntax int
Brug peek()
Syntax int peek( );
Returns the next character without extracting it from the stream. Returns EOF if the stream is at end of file or if the ipfx function indicates an error.
Held og lykke
Morten