C-FAQ : 진행율 표시하기
출처 : http://c-faq.com/osdep/baton.html
Q: How can I display a percentage-done indication that updates itself in place, or show one of those ``twirling baton'' progress indicators?
A: These simple things, at least, you can do fairly portably. Printing the character '\r' will usually give you a carriage return without a line feed, so that you can overwrite the current line. The character '\b' is a backspace, and will usually move the cursor one position to the left.
Using these characters, you can print a percentage-done indicator:
- for(i = 0; i < lotsa; i++) {
- printf("\r%3d%%", (int)(100L * i / lotsa));
- fflush(stdout);
- do_timeconsuming_work();
- }
- printf("\ndone.\n");
or a baton:
- printf("working: ");
- for(i = 0; i < lotsa; i++) {
- printf("%c\b", "|/-\\"[i%4]);
- fflush(stdout);
- do_timeconsuming_work();
- }
- printf("done.\n");
이 글은 스프링노트에서 작성되었습니다.


