title: Setting minimum buffer size
body: <p>I noticed something when I used the setvbuf () function to set the file processing buffer. If I don't use a buffer size of 256 or higher, I get strange symbols when I try to print the buffer. However, if I use 256 sizes for the buffer, I get the correct char representation of up to 8 characters. I've done research on this problem, but I guess I couldn't find my answer because of my lack of knowledge. </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #define SIZE 8 //Below 256
  int main(void)
  {
   char buffer[SIZE];
  
   FILE *fp = fopen("name.txt","w");    
   setvbuf(fp,buffer,_IOFBF,SIZE);
   fputs("a",fp);
   printf("%s\n",buffer);
   fclose(fp);
   return 0;
  }
  </code></pre>
  
  <p>Expected Output</p>
  
  <pre><code>a
  </code></pre>
  
  <p>Actual Output</p>
  
  <pre><code>a!'^//Something like this.
  </code></pre>