เขาทำ progress ใน terminal กันยังไงหว่า?

เคยเรียกคำสั่งอะไรใน terminal แล้วมันก็ขึ้นเลข 0%, 10%, 20%, … 100% ใน terminal ไหม (มันอัพเดทข้อความในบรรทัดเดิมได้เรื่อยๆ… มันทำยังไงหว่า?)

อ่ะนี่ ตัวอักษรสำคัญเลขคือ r (carriage return)

#include <stdio.h>
void delay()
{
   for(int i=0;i&lt;1000000;i++) for(int j=0;j&lt;10;j++);
}
int main()
{
   for(int p=0;p&lt;=100;p++)
   {
       delay();
       printf(&quot;rPercent: %d &quot;, p);
       fflush(stdout);
   }
   printf(&quot;n&quot;);
   return 0;
}

งืมๆ… มาพ่นโค้ด แล้วก็ไป ฮ่าๆ

3 คิดบน “เขาทำ progress ใน terminal กันยังไงหว่า?

  1. วันนี้เขียนเล่นอีกรอบ มาเพิ่มเติมว่า ก่อน \r ใส่ 33[K ไปด้วยก็ดี มันจะได้ clear line ด้านหลังจาก cursor ทิ้งให้หมด เวลา echo ซ้ำจะได้ไม่มีของเหลือ :3

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s