how setbuf is working in c program

Prabhu prabhum at msys-tech.com
Mon Jun 6 10:35:31 EDT 2011


Hi all,

I am writing user- space driver. My intention is to print whatever 
string i am enter into terminal.

Here i am using setbuf function to sent the data to the print after some 
fixed string length.

I wrote below program for understand setbuf functionality. But i am 
getting unpredictable result for some output . can any one explain the 
why i am getting these result.

root at desktop:/home/prabhu# cat a.c
#include <stdio.h>
main()
{
char buff2[]= "hello world";
char buf1[6]="";
setbuf(stdin, buf1);
getchar();
printf ("%s",buf1);
}


root at desktop:/home/prabhu# cc a.c
root at desktop:/home/prabhu# ./a.out
a
a
root at desktop:/home/prabhu# ./a.out
aa
aa
root at desktop:/home/prabhu# ./a.out
aaa
aaa
root at desktop:/home/prabhu# ./a.out
aaaa
aaaa
root at desktop:/home/prabhu# ./a.out
aaaaa
aaaaa
hello worldroot at desktop:/home/prabhu# ./a.out
aaaaaa
aaaaaa
ello worldroot at desktop:/home/prabhu# ./a.out
aaaaaaa
aaaaaaa
llo worldroot at desktop:/home/prabhu# ./a.out
aaaaaaaa
aaaaaaaa
lo worldroot at desktop:/home/prabhu# ./a.out
aaaaaaaaa
aaaaaaaaa
o worldroot at desktop:/home/prabhu# ./a.out
aaaaaaaaaa
aaaaaaaaaa
  worldroot at desktop:/home/prabhu# ./a.out
aaaaaaaaaaa
aaaaaaaaaaa


Thanks,
Prabhu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110606/1ce1dc0c/attachment.html 


More information about the Kernelnewbies mailing list