Wygląda na to, że następujące połączenia wykonują to, czego oczekujesz (zamknij strumień i nie zezwalaj na żadne dodatkowe dane wejściowe - wszystko, co czeka na dane wejściowe na temat błędu zwracania strumienia), ale czy jest ono gwarantowane we wszystkich kompilatorach/platformach?Czy close/fclose na stdin jest poprawne?
close(fileno(stdin));
fclose(stdin);
możesz po prostu fclose (stdin), to wywoła metodę close() na uchwycie pliku. –