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;
}
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Deixando o Plasma6 mais fluido no Linux
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Isso acontece com vcs também? (7)
Problema com audio apos upgrade (10)
Instalação automatizada do Debian 12 em UEFI (2)