O PowerShell ISE não limpa o stdout

1

Estou tendo um pequeno problema ao executar um programa de console no PowerShell ISE: quando o programa grava uma linha em partes usando o flush, o PowerShell não mostra a linha até que o programa grave uma terminação de linha. Por exemplo, o programa está fazendo algo assim (C ++):

std::cout << "Doing something time-consuming..." << std::flush;
// Do something for some time
std::cout << " done in " << x << " seconds" << std::endl;

E o PowerShell ISE mostrará apenas toda a linha quando esta seção do código for concluída. Com o PowerShell não ISE, isso não acontece, a linha é impressa em partes conforme o esperado.
Portanto, a pergunta é: posso de alguma forma fazer o PowerShell ISE desativar seu buffer interno e imprimir o stdout do programa diretamente?

    
por lapis 09.03.2014 / 02:12

1 resposta

0

Parece que isso não é possível, pelo menos sem o fazer por meio do Reflection (como eu foi dito no fórum da Microsoft).
Acho que eu deveria usar outra ferramenta como alternativa avançada ao cmd, como Console ou ConEmu (que também pode executar um console do PowerShell dentro de sua interface).

    
por 13.03.2014 / 17:22