Ir ao conteúdo
  • Cadastre-se

IromWalrider

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. Sim, eu já tentei usar a nanosleep como eu disse no primeiro post.
  2. Olá, sou novo neste fórum. Eu estou com um problema em um programa em c++, no (L)Ubuntu. Eu fiz uma barra de progresso em ASCII para terminal, e uso um loop para controlar o fim do carregamento. O problema é que eu preciso que esse loop tenha um delay de 0,5s, e para isso eu uso usleep de unistd.h. Esta função tem como parâmetro o tempo do delay em microssegundos. Porém no meu programa eu uso usleep(500000) (equivalente a 0,5s) e eu tenho um delay de 2s ! Eu já tentei user outras funções como sleep e nanosleep mas obtive o mesmo resultado. Alguém de você poderia me ajudar? main.cpp: /* * File: main.cpp * Author: iromwalrider * * Created on 26 de Janeiro de 2015, 17:14 */#include <cstdlib>#include <stdio.h>#include <unistd.h>#include <time.h>using namespace std;/* * */static inline void loadBar(int x, int n, int r, int w){ // Only update r times. if ( x % (n/r ) != 0 ) return; // Calculuate the ratio of complete-to-incomplete. float ratio = x/(float)n; int c = ratio * w; // Show the percentage complete. printf("%3d%% [", (int)(ratio*100) ); // Show the load bar. for (int x=0; x<c; x++) printf("="); for (int x=c; x<w; x++) printf(" "); // ANSI Control codes to go back to the // previous line and clear it. printf("]\n\033[F\033[J");}int main(int argc, char** argv) { for (int i=0;i<=150;i++) { usleep(500000); loadBar(i,150,9,10); } return 0;}

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...