sundar sundar - 1 year ago 183
Linux Question

fflush() is not working in Linux

I used the fflush() in Linux GCC but it did not work. Are there any alternatives for that function? Here is my code:

void main()
char ch='y';
int a;
printf("Enter some value:");
printf("Do you want to continue?");

The output that I got is:

Enter some value: 10

Then the program ends. That's all. What can I do in Linux? Is there an alternative function?

Answer Source

Don't use fflush, use this function instead:

#include <stdio.h>
void clean_stdin(void)
    int c;
    do {
        c = getchar();
    } while (c != '\n' && c != EOF);

fflush(stdin) depends of the implementation, but this function always works. In C, it is considered bad practice to use fflush(stdin).

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download