Problemas com variaveis long
Boa tarde pessoal!!!!!
estou tendo problemas nesse codigo:
void gravaConf(char *sConf)
{
FILE *fp;
char *linhaTemp, *aux;
long int linhaIni,linhaFim;
long int i;
aloca(&linhaTemp,25);
aloca(&aux,7);
//Busca linha inicial no temp
if((fp=fopen("TEMP","r"))!=NULL)
{
fseek(fp, posTMP,SEEK_SET);
fread(linhaTemp,25,1, fp);
sprintf(aux,"%.6s",linhaTemp+7);
linhaIni = atoi(aux);
fread(linhaTemp,25,1, fp);
sprintf(aux,"%.6s",linhaTemp+7);
linhaFim = atol(aux);
}
fclose(fp);
if(linhaIni>=linhaFim)
{
if((fp=fopen("PEDIDO.TXT","r"))!=NULL) //pega última linha do pedido.
{
fseek(fp,0,SEEK_END);
linhaFim = ((ftell(fp))/118);
}
fclose(fp);
}
// atualiza os itens do pedido
if((fp=fopen("PEDIDO.TXT","r+"))!=NULL)
{
for(i=linhaIni;i<linhaFim;++i)
{
fseek(fp, (i * 119)+116,SEEK_SET);
fwrite(sConf,1,1, fp);
}
}
fclose(fp);
free(linhaTemp);
free(aux);
gravaConfTMP(sConf);
}se eu declarar o "i" apenas como int ele da estouro de variavel e se declarar como long pega sujeira da memória, alguém teria alguma solução para isso?
desde já obrigada.
Discussão (1)
Carregando comentários...