scanf輸入、printf輸出緩衝區 & gets/fgets

輸入緩衝區:ide

   鍵盤->鍵盤緩衝區->輸入緩衝區->程序spa

   輸入緩衝區清除的條件:只有當其中的內容被讀走的時候纔會清除指針

   /**************************************************/字符串

   /*輸入緩衝區*/get

   /**************************************************/it

   #include <stdio.h>io

   int main()class

   {stream

       int a,b,c,d,e;程序

       if(scanf("%d",&a)==0)

       {

           scanf("%*[^\n]");

           scanf("%*c");

       }

       scanf("%d",&b);

       scanf("%d",&c);

       scanf("%d",&d);

       scanf("%d",&e);

       printf("%d %d %d %d %d\n",a,b,c,d,e);

       return 0;

   }


輸出緩衝區:

   程序->輸出緩衝區->屏幕

   條件:

   <1>\n

   <2>程序結束

   <3>輸出緩衝區滿(4kb)

   <4>人工刷新(fflush(stdout))

   /***********************************************/

   /*輸出緩衝區*/

   /***********************************************/

   #include <stdio.h>

   int main()

   {

       printf("hello");

       fflush(stdout);

       while(1);

   }


<1>char* gets(char*)從輸入緩衝區讀取一行

   不考慮緩衝區的大小,可能溢出

<2>fgets(char* str,size_t size,FILE* stream)會在讀入字符串的後面自動加上'\0'

   char* str:指向緩衝區的指針

   size_t size:緩衝區的大小

   FILE* stream:文件指針(stdin)

相關文章
相關標籤/搜索