Galera, peço desculpas por perguntar algo que pode ser bem simples para alguém que já tem uma boa base em C, mas o meu conhecimento é bem básico mesmo.
Estou com um problema que é o seguinte:
Tenho um arquivo com uma linha com a quantidade de numeros reais a serem lidas e as outras linhas contém estes números. Depois que eu ler estes dados, devo gravá-los em um arquivo binário e depois de gravar todos os números, fechar o arquivo, abrir novamente em outro método que deverá ler os arquivos do ultimo para o primeiro.
Fiz esta questão em Java, que é uma linguagem que tenho uma base melhor
Link para o cógigo em Java http://pastebin.com/CxcVW5Qw
Dúvidas
Porém, não estou conseguindo refazer o código em C, estou com problemas pois não sei se tem como gravar no arquivo o float direto, ao invés de uma String, pois vai ficar mais fácil para ler os dados depois.
Outra dúvida é se o fopen possui métodos como o RandomAccesFile do Java, que me permitem alterar a posição do cabeçote, retornam o tamanho do arquivo em Bytes e que retorna a posição que o cabeçote está apontando.
arq = fopen(url,"wb"); // cria arquivo binario para gravacao
quantidade = readInt();
if (arq == NULL)
printf("Erro! Problemas ao criar o arquivo.\n");
else {
for (i = 0; i < quantidade; i++)
{
numero = readFloat();
arq.fwrite("%f",&numero);
}
}
printf("%s\n", url);
}