Enviado em 23/08/2015 - 16:34h
Olá, recebi o seguinte problema para fazer:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
char* itemA(FILE *arquivo, int tamanhoBloco)
{
//printf("\n cheguei 4 \n");
char *linha;
linha = (char *) malloc(tamanhoBloco * sizeof(char));
//printf("\n cheguei 5 \n");
if(arquivo==NULL) //verifica se o arquivo existe
{
printf("\n Arquivo não pode ser aberto! \n");
return 1;
}
//printf("\n cheguei 6 \n");
fseek(arquivo,0,SEEK_END); //posiciona o ponteiro para arquivo no final do arquivo
//printf("\n cheguei 7 \n");
int tamanhoArquivo = ftell(arquivo); //pega a posição final que é igual ao tamanho do arquivo
//printf("\n cheguei 8 \n");
srand(time(NULL)); //função que alimenta a função rand(), fazendo esta não repetir os números "aleatórios"
//printf("\n cheguei 9 \n");
int multiploBloco=(rand() % tamanhoArquivo) * tamanhoBloco; //inteiro recebe um numero aleatório múltiplo do tamanho do bloco
//printf("\n cheguei 10 \n");
printf("\n Multiplo do bloco: %d \n",multiploBloco);
if(multiploBloco > tamanhoArquivo)
multiploBloco= multiploBloco%tamanhoArquivo;
//printf("\n cheguei 11 \n");
printf("\n NOVO Multiplo do bloco: %d \n",multiploBloco);
fseek(arquivo,multiploBloco,SEEK_SET);
//printf("\n cheguei 12 \n");
fread(linha,tamanhoBloco,1,arquivo);
//printf("\n cheguei 13 \n");
fclose(arquivo);
//printf("\n cheguei 14 \n");
//free(linha);
//printf("\n cheguei 15 \n");
printf("%s",linha);
return linha;
}
void itemB(FILE *arq, int tamBloco)
{
printf("\n cheguei 2 \n");
int i=0;
char *linha;
linha = (char *) malloc(tamBloco * sizeof(char));
time_t t1,t2;
t1=time(NULL);
printf("\n tempo1: %d \n",t1);
for(i=0; i<20; i++)
{
printf("\n cheguei 3 \n");
itemA(arq,tamBloco);
//free(linha);
printf("\n cheguei 16 \n");
}
printf("\n cheguei 17 \n");
t2=time(NULL);
printf("\n tempo2: %d \n",t2);
printf("\n cheguei 18 \n");
}
int main()
{
FILE *arquivo;
int tamanhoBloco;
arquivo=fopen(" /*algum arquivo*/ ","a+");
tamanhoBloco=10;
//printf("\n cheguei 1 \n");
itemB(arquivo,tamanhoBloco);
//printf("\n cheguei 19 \n");
return 0;
}
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Alguém poderia me ajudar a escolher peças pra montar um desktop? (3)
modo de emergencia no linux [RESOLVIDO] (1)