मैं कहूंगा कि जूलियानो को यदि आपके पास वह टूल है तो सही उत्तर मिल गया है , लेकिन मैं यह भी सुझाव दूंगा कि यह एक साफ-सुथरा छोटा कश्मीर एंड आर स्टाइल एक्सरसाइज है: बिल्ली के एक विशेष संस्करण को लिखिए 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