Progress Bar using Language C ANSI


 
Thread Tools Search this Thread
Top Forums Programming Progress Bar using Language C ANSI
# 1  
Old 12-27-2010
Error Progress Bar using Language C ANSI

Hi everyone,

I am trying to put a progress bar in the MS-DOS that indicate to the user the how is the progress of a read in one text file. Then i put:

Code:
#define contador 100
char bar_porcentagem[7]="0.0%%";
long bar_aux=0;
char buffer[contador];
long i;

void barra_progresso(long i,long contador,char* bar_buffer){
    bar_buffer[i+1]='=';
    bar_aux=i%4; 
    
    switch(bar_aux){
          case 0 : bar_buffer[i+2]='\\'; break;
          case 1 : bar_buffer[i+2]='|'; break;
          case 2 : bar_buffer[i+2]='/'; break;
          default : bar_buffer[i+2]='-'; break;
    }

    for(bar_aux=i+3;bar_aux<strlen(bar_buffer);bar_aux++)
        bar_buffer[bar_aux]=' ';

    bar_buffer[strlen(bar_buffer)-1]=']'; 

       Sleep(200); // retirar

    sprintf(bar_porcentagem,"%3.2f%%",(i/(float)contador)*100.0);
    printf("%s%s\r",bar_buffer,bar_porcentagem);     
}

Where i is the current character reading and contador is the total of character in the text file. I am using the compiler Dev-C++ 4.9.9.2 but i receive the line break when i execute it in the MS-DOS. There is another mode of implement this? Thanks to all answers.
# 2  
Old 12-27-2010
Well, both stdin and stdout are FILE* and are by default buffered, so you will need to fflush(stdout) after printf() to see the progress, however blurred by buffering it is!
# 3  
Old 12-27-2010
Or just fprintf(stderr, ...)
# 4  
Old 12-27-2010
Well, by using the stdout and fflush it is all in one write (even for big messages and have many processes writing the same log, if you use a big enough setvbuf this is good), but yes, stderr is not normally buffererd.

The printf/fprintf and sprintf could be merged, too. Never use a char[] explicit buffer when you can use i/o and be done.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Progress bar

Hi Experts; Im in the process of writing a shell script for enabling an IT operations to run archiving.We use netbackup. The script is complete, though there is one bit that i need help on. Im trying to have a progess bar for the procedure.I have gone through the man page of the command in... (5 Replies)
Discussion started by: maverick_here
5 Replies

2. Shell Programming and Scripting

Perl Progress BAR

Looking for a solution to why my progress bar not working My code print "STARTED:\n "; my $pdf = CAM::PDF->new('XYZ.pdf') or die $CAM::PDF::errstr; print STDOUT "Processing File: "; open (FILE, ">bill_data.txt") || die "Unable to save Bill_data.txt file"; for my $pagenum (1 ..... (4 Replies)
Discussion started by: chakrapani
4 Replies

3. Shell Programming and Scripting

Progress bar for cp

I'm trying to use this code to get a progress bar for cp: "Can you get cp to give a progress bar like wget?" But I'm getting these errors: stat: illegal option -- c usage: stat awk: division by zero input record number 1, file source line number 4 I'm using Mac OS X 10.6... (1 Reply)
Discussion started by: pcwiz
1 Replies

4. Programming

A progress bar in C

Hello, it's me again...:eek: I need to create a progress bar in C, but i have no idea on how to do it. i want it to output something like this: Progress: 58% But i can't get it to work. Could you please post an example progress bar written in ANSI C? Thanks (4 Replies)
Discussion started by: Zykl0n-B
4 Replies

5. Shell Programming and Scripting

progress bar

hi all, in shell script (ksh), how do i write a progress bar ?? i have a script which searches files and while its searching i am currently printing out "." and if it finds what its searching for the script prints out the name of the file e.g .................. firstFile.txt... (2 Replies)
Discussion started by: cesarNZ
2 Replies

6. Shell Programming and Scripting

Progress bar

Hi friends, how can I show a progress bar for any running process in the shell script. For example when I am copying or compressing a file. Thanks. (1 Reply)
Discussion started by: dwiravi
1 Replies

7. UNIX for Advanced & Expert Users

how to have a cp progress bar?

Hi all, This is a reformed post to my earlier ones!!!!!! I would like to know how to include a progress bar while using the cp... I am copying a few huge files from cdrom but am unable to figure out ,how to give a progress bar!!!!! I checked out other sites as well,but the issue here is... (1 Reply)
Discussion started by: wrapster
1 Replies

8. UNIX for Advanced & Expert Users

progress bar

Hi all, I want to print # like that in a progress bar.. For e.g We can notice that during installation ... but,how to do that? Thnx, sakthi. (4 Replies)
Discussion started by: sakthi.abdullah
4 Replies

9. Shell Programming and Scripting

progress bar

i am trying to write a script where in it will connect to remote servers and execute remote scripts to fetch some data and ftp it back to a main server. i would like to add a script where it will show some sort of status bar until such time that the expected files have been recieved. something... (3 Replies)
Discussion started by: inquirer
3 Replies
Login or Register to Ask a Question