Atualiza a saída por caractere, não por linha

0

Meu programa imprime um . (sem nova linha) a cada 100 ms para indicar o progresso. Ao executá-lo em uma máquina remota via ssh, no entanto, não consigo ver a saída antes que uma nova linha seja impressa. Eu tentei no Cygwin e no Ubuntu.

Existe uma maneira de fazer a saída de exibição ssh antes que a linha esteja completa?

    
por jederik 24.11.2016 / 16:59

1 resposta

2

O problema geralmente é o buffer de saída do seu programa, ou mais precisamente, por uma biblioteca de E / S ou tempo de execução que seu programa usa. Especificamente, buffer de linha.

O IO sem buffer é muito menos eficiente, e é por isso que não é usado por padrão.

As linguagens de programação geralmente têm uma maneira de especificar a saída sem buffer. Desde que geralmente depende do que STDOUT está conectado a ele também é afetado por configurações de ambiente do sistema operacional.

Veja também stdbuf

    
por 24.11.2016 / 17:48

Tags