Ir para conteúdo
Fórum Script Brasil
  • 0

Ler Arquivos Binários Sem Conhecer A Estrutura


Sérgio Berlotto

Pergunta

Olé pessoal, eu estou tentando abrir um arquivo binário, de um dump da uma base do oracle, criado com a ferramente 'exp' do próprio oracle, para que eu utilize os comandos SQL efetuando uns tratamentos necessários aqui na empresa.

Bom basicamento meu problema é: ler um arquivo binário, descobir quais comandos SQL tem dentro dele e exportar estes SQL´s para um arquivo texto comum.

Já tentei de algumas formas, não obtive sucesso, com ifstream e ofstream, não sou avançado em C++ , portanto não sei caminhos mais obscuros para ler um binário corretamente... hehehehe

Compilador: GCC MingW

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

bem num saco muito de C++ também não, por isso vo mostrar como eu faria em C:

...
FILE *fp;
fp = fopen ("arquivo,"rb");
char ch, str[10000];
int i=0;
while ( scanf("%c", &ch) != EOF )
{
        str[i] = ch;
        i++;
}
fclose(fp);

fp = fopen ("ARQUIVO.txt", "w");
fprintf (fp, "%s", str);
fclose(fp);
...

BEM EU FARIA ALGO ASSIM, num testei se isso funciona, mas deve funcionar!!!!

se conseguir me fala como tu conseguiu ok???

Editado por Rafael Barros
Link para o comentário
Compartilhar em outros sites

  • 0

Rafael, eu seguindo tua idéia efetuem umas modificações , principalmente conforme uma tabela encontrada aqui, sobre os ASCII Caracteres

AQUI

Veja o codigo:

int main()
{
    FILE *fp;
    FILE *gravador;

    fp = fopen ("c:\\dump.dmp","rb"); //Arquivo de entrada BINÁRIO
    gravador = fopen("c:\\dump.dmp.txt","w"); //arquivo de saida

    char ch; //Para a leitura dos caracteres

    while ( fscanf(fp, "%c", &ch) != EOF )
    {
        //Grava o que interessa no arquivo de saida
        if( (ch > 31 && ch < 127) || ch == '\n' ){
            fprintf( gravador, "%c", ch);
        }
    }
    fclose(fp);
    fclose(gravador);

    printf("Concluido!");
    return 0;

}

Link para o comentário
Compartilhar em outros sites

  • 0

Mas mesmo assim não está servindo isto para mim... porque eu preciso descobrir cada item da estrutura deste arquivo binário.... tipo:

- o que é o cabecalho do arquivo

- onde começa e onde termina cada item da estrutura dos registros ali gravados

Conforme a tabela citada no meu post anterior eu percebi que tem caracteres de controle dentro deste arquivo, mas alguém sabe como se comportam estaes caracteres na hora de eu gravar uma estrutura dentro de um binário ?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...