Jump to content
Boflawok

Adresso(s) que devia(m) ser retornado(s) por uma função que lida com ficheiros com um cabeçalho fixo.

Recommended Posts

Boflawok

Estou a trabalhar num projeto em que algumas partes lidam com a criação e edição de ficheiros. Ao planear a forma como uma dessas funções devia funcionar veio uma dúvida à minha cabeça.

A função o que faz é alocar memória para o ficheiro, escrever o cabeçalho e depois retornar o adresso deste.

Estive a pensar que o adresso deveria apontar para o inicio do ficheiro, mas depois lembrei me que quem utiliza a função provavelmente vai querer saber onde o conteúdo do ficheiro começaria. Porém, o tamanho do cabeçalho é fixo e não muda com os formatos e daí pensei que não faría muito sentido retornar 2 valores, pois para saber o outro seria só precisso fazer um simples cálculo de adição/subtração. Mas a forma como as funções seriam utilizadas ficava inconsistente se alguem quisesse adicionar suporte de um novo formato para o meu projeto que tinha um tamanho de cabeçalho maior do que os outros formatos.

Ou seja, o que adressos deveria a função retornar? começo do ficheiro? começo do conteúdo? ambos?

A função é parte de uma libraria, se isso tiver alguma influência sobre a resposta.

 

Penso que onde esta questão foi colocada é o local certo. Peço desculpa se isso não for o caso.

Se, por alguma razão, derem exemplos de código, escrevam em C ou x86 gas assembly ou algo parecido.

 

Edited by Boflawok
Clarified use.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.