ฉันจะบอกว่า Juliano ได้รับคำตอบที่ถูกต้อง หากคุณมีเครื่องมือนั้น แต่ฉันขอแนะนำด้วยว่านี่เป็นแบบฝึกหัดสไตล์ K & amp; R ตัวเล็ก ๆ น้อย ๆ : เพียงแค่เขียนแมวรุ่นพิเศษที่อ่านตัวละครตัวหนึ่งในเวลา stdin
ส่งออกแต่ละไป stdout
แล้ว usleep
ก่อนที่จะย้าย แน่ใจ เพื่อคลายออกเอาต์พุตมาตรฐาน หรือสิ่งนี้จะทำงานค่อนข้างกระตุก
ฉันเรียกสิ่งนี้ slowcat.c
:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char**argv){
int c;
useconds_t stime=10000; // defaults to 100 Hz
if (argc>1) { // Argument is interperted as Hz
stime=1000000/atoi(argv[1]);
}
setvbuf(stdout,NULL,_IONBF,0);
while ((c=fgetc(stdin)) != EOF){
fputc(c,stdout);
usleep(stime);
}
return 0;
}
รวบรวมและลองด้วย
$ ./slowcat 10 < slowcat.c