Bu işlev ile akım akımının hangi tamponlama kipini kullanacağı belirtilir. kip parametresinde, akımın tümünün tamponlanması isteniyorsa _IOFBF, satır tamponlu olması isteniyorsa _IOLBF, girdi/çıktının tamponlanması istenmiyorsa _IONBF sabiti kullanılır.
tampon argümanına boş gösterici belirtilirse, işlev malloc kullanarak tamponu kendisi ayırır. Akımı serbest bıraktığınızda bu tamponu da serbest bırakmış olacaksınız.
Aksi takdirde,
tampon en az
boyut karakterlik bir karakter dizisini tutacak büyüklükte seçilmelidir. Akım açık olduğu sürece ve bu dizi akım tamponunda kaldığı sürece, dizi akım tarafından kullanılıyor olacağından diziye ayrılan alanı bu süre zarfında serbest bırakmamalısınız. Tamponu ya durağan olarak ya da
malloc (
Özgür Bellek Ayırma) kullanarak ayırmalısınız. Dizinin bildirildiği blok çıkmadan önce dosyayı kapatmadıkça özdevinimli bir dizinin kullanılması önerilmez.
Dizi bir akım tamponu olarak kaldığı sürece, akım G/Ç işlevleri dahili amaçları için tamponu kullanacaklardır. Akım diziyi tamponlama amacıyla kullanırken dizinin içeriğine doğrudan erişmeyi denememelisiniz.
setvbuf işlevi başarılı olduğunda sıfır ile döner. kip değeri geçersizse ya da istek yerine getirilememişse sıfırdan farklı bir değerle döner.