Simple ScanF() doesn't work in loop

The Pentium Guy

Diamond Member
Jan 15, 2005
4,327
1
0
Hey, long time since I've browsed these forums

I have a microcontroller which I'm trying to talk to through SecureCRT on a COM port.

I have a simple loop:

char c;

//Set up UART ports...etc
while (1)
{

printf ("scanning...\n");
scanf("%c", &c);
printf ("scanned char: %c\n",c);
}
It types in "scanning..." and waits for me to type in a character, but it must be followed by a line feed (\n). Once it scans it outputs the scanned character... as planned

But on the next iteration of the loop it assumes that the same character was scanned and it outputs it again and again. It essentially skips over the scanf line. Typing a new character won't work either

Output:scanning....
Input: 1\n
Output:scannedchar: 1
scanning....
1 scanned char: 1\n
scanning.....
1 scanned char: 1

Anyone know what the deal is?
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
As I recall scanf does not flush the newline character at the end of the input string. Therefore subsequent calls to scanf will read that newline. You can use getchar() to flush that newline and then call scanf again.
 

Cerebus451

Golden Member
Nov 30, 2000
1,425
0
76
You can also just turn off the buffering of stdin with:
setvbuf (stdin, NULL, _IONBF, 0);
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |