A pedidos do Yuri e do Dolly eu fiz um exemplo com dois programas.
Em http://phpfi.com/331389, contém um programa em Java que Lê palavras que uma pessoa digitou até que essa palavra seja "parar". Após isso ele exibe na tela o que foi digitado.
Em http://phpfi.com/331392, contém um programa em C++ que faz tb a mesma coisa.
Executando:
C:\caminho> java Ex
carro
casa
parar
carro
casa
Agora, rodando assim:
C:\caminho> java Ex > saida.txt
carro
casa
parar
As palavras foram armazenadas em saida.txt.
Executando o programa em C++, que tem o nome de rec.cpp:
C:\caminho> rec.exe
Recebendo entrada
pipa
pirulito
parar
pipa
pirulito
Agora, executando assim:
C:\caminho> rec.exe < saida.txt
carro
casa
Acho que ficou legal esse exemplo. Espero que tenham gostado. Muito legal essa interação.
Se seu código será utilizado com canalização apenas tome cuidado para que mensagens de impressão erradas não ocorram, para que não afete a saída canalizada.
Exemplo de código possívelmente errado:
#include "stdio.h"
void main(void) {
int i = 0;
while(i < 10) {
printf("%d\n", i);
i++;
}
printf("Total: %d", i); //possivel problema aqui
}
Suponha que é desejado redirecionar a saída para um arquivo. TUDO que for impresso na tela será canalizado.
0
1
2
3
4
5
6
7
8
9
Total: 10
Vêem o problema? As vezes, mensagens que ficam "legais" na impressão na tela (Total 10), quando canalizados desformatam os dados. Se outro programa for ler o arquivo, Total: 10, pode causar um exceção ou um erro lógico.
E aguardem o próximo tópico de Java: Pool de String.
Passed in SCBCD 5 exam
Há 14 anos
2 comentários:
Muito bom o exemplo Caião. Parabéns!
Vlw Dolly!!!!!
Postar um comentário