[SP-pm] Write Binary!

Luis Motta Campos luismottacampos em yahoo.co.uk
Quinta Abril 26 10:30:16 PDT 2007


On Apr 26, 2007, at 5:43 PM, Henrique Rennó wrote:
> Fala Fred!
> Existe um programa muito usado aqui no trabalho chamado GrADS.  
> Basicamente ele é um plotador, um gerador de gráficos. Para ele  
> plotar os gráficos, os valores a serem trabalhados devem estar em  
> um arquivo no formato binário (existem outros formatos que ele lê  
> também mas binário é o mais geral).
>
> Os programas que faço para trabalhar com esses dados estão todos em  
> C que passei dos que estavam em FORTRAN. No FORTRAN deve-se abrir o  
> arquivo passando parâmetros tipo 'stream' and 'unformatted', sem  
> esses parâmetros não dá certo. Já em C seria apenas a opção "b"  
> para o fopen. Para escrever no arquivo, em FORTRAN usa-se o write  
> passando para ele um vetor(M*N) onde N é o número de elementos da  
> matriz de 2 dimensões com M linhas e N colunas na ordem linha 1,  
> colunas 1-N, linha2, colunas 1-N, ..., linhaM, colunas 1-N, etc. Em  
> C não dá certo usando o fscanf ou qualquer outra função que utiliza  
> formatação, já o fwrite funciona como eu havia descrito antes:  
> fwrite(matriz, sizeof(float), M*N, fpointer)
>
> Agora estou querendo passar para perl apenas por aprendizado.  
> Tentei o pack com formatação "B*" como o Luis Motta disse e não  
> funcionou.

   Isso depende da sua máquina. Leia "perldoc -f pack" e "perldoc -f  
unpack" para se informar sobre os formatos, e descubra qual é o que  
você precisa. ;-)

   Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}




Mais detalhes sobre a lista de discussão SaoPaulo-pm