Latest web development tutorials
×

C หลักสูตร

C กวดวิชาภาษา C แนะนำโดยย่อ C การตั้งค่าสภาพแวดล้อม C โครงสร้างหลักสูตร C ไวยากรณ์พื้นฐาน C ชนิดข้อมูล C ตัวแปร C คงที่ C ประเภทการจัดเก็บ C ผู้ประกอบการ C ผู้พิพากษา C การไหลเวียน C ฟังก์ชัน C การกำหนดขอบเขตกฎระเบียบ C แถว C ชี้ C เชือก C โครงสร้าง C สหภาพ C ฟิลด์บิต C typedef C อินพุตและเอาต์พุต C การอ่านออกเขียนเอกสาร C preprocessor C ส่วนหัว C ปลดเปลื้อง C จัดการข้อผิดพลาด C recursion C พารามิเตอร์ตัวแปร C จัดการหน่วยความจำ C บรรทัดคำสั่ง C คลาสสิก 100 ราย

C ห้องสมุดมาตรฐาน

C ห้องสมุดมาตรฐาน - คู่มืออ้างอิง C ห้องสมุดมาตรฐาน - <assert.h> C ห้องสมุดมาตรฐาน - <ctype.h> C ห้องสมุดมาตรฐาน - <errno.h> C ห้องสมุดมาตรฐาน - <float.h> C ห้องสมุดมาตรฐาน - <limits.h> C ห้องสมุดมาตรฐาน - <locale.h> C ห้องสมุดมาตรฐาน - <math.h> C ห้องสมุดมาตรฐาน - <setjmp.h> C ห้องสมุดมาตรฐาน - <signal.h> C ห้องสมุดมาตรฐาน - <stdarg.h> C ห้องสมุดมาตรฐาน - <stddef.h> C ห้องสมุดมาตรฐาน - <stdio.h> C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <string.h> C ห้องสมุดมาตรฐาน - <time.h>

C ทำงานห้องสมุด - setvbuf ()

C ห้องสมุดมาตรฐาน - <stdio.h> C ห้องสมุดมาตรฐาน - <stdio.h>

ลักษณะ

C ทำงานห้องสมุดint setvbuf (File * กระแสถ่าน buffer * โหมด int ขนาด size_t) เพื่อกำหนดวิธีการบัฟเฟอร์กระแส

คำแถลง

นี่คือ () ฟังก์ชัน setvbuf คำสั่ง

int setvbuf(FILE *stream, char *buffer, int mode, size_t size)

พารามิเตอร์

  • กระแส - นี้เป็นตัวชี้ไปยังแฟ้มชี้ไปยังวัตถุแฟ้มระบุวัตถุกระแสเปิด
  • บัฟเฟอร์ - ซึ่งได้รับมอบหมายให้บัฟเฟอร์ผู้ใช้ถ้าตั้งค่าเป็น NULL ฟังก์ชันอัตโนมัติจะกำหนดขนาดของบัฟเฟอร์ที่ระบุ
  • โหมด - โหมดนี้ระบุไฟล์บัฟเฟอร์:
模式描述
_IOFBF全缓冲:对于输出,数据在缓冲填满时被一次性写入。对于输入,缓冲会在请求输入且缓冲为空时被填充。
_IOLBF行缓冲:对于输出,数据在遇到换行符或者在缓冲填满时被写入,具体视情况而定。对于输入,缓冲会在请求输入且缓冲为空时被填充,直到遇到下一个换行符。
_IONBF无缓冲:不使用缓冲。每个 I/O 操作都被即时写入。buffer 和 size 参数被忽略。
  • ขนาด - นี่คือขนาดของบัฟเฟอร์ไบต์

ราคาย้อนกลับ

หากประสบความสำเร็จการทำงานกลับ 0 มิฉะนั้นก็จะส่งกลับค่าไม่ใช่ศูนย์

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นถึง setvbuf () ฟังก์ชั่นถูกนำมาใช้

#include <stdio.h>

int main()
{

   char buff[1024];

   memset( buff, '\0', sizeof( buff ));

   fprintf(stdout, "启用全缓冲\n");
   setvbuf(stdout, buff, _IOFBF, 1024);

   fprintf(stdout, "这里是 w3cschool.cc\n");
   fprintf(stdout, "该输出将保存到 buff\n");
   fflush( stdout );

   fprintf(stdout, "这将在编程时出现\n");
   fprintf(stdout, "最后休眠五秒钟\n");

   sleep(5);

   return(0);
}

Let 's รวบรวมและเรียกใช้โปรแกรมดังกล่าวข้างต้นซึ่งจะก่อให้เกิดผลดังต่อไปนี้นี่คือโปรแกรมที่จะบันทึกบัฟเฟอร์ออกไปควายจนสายแรกที่ fflush ()ก่อนที่จะเริ่มการส่งออกบัฟเฟอร์ของสุดท้าย 5 วินาทีของการนอนหลับ มันจะเป็นก่อนที่จะสิ้นสุดของโปรแกรมเพื่อส่งผลผลิตที่เหลือ STDOUT

启用全缓冲
这里是 w3cschool.cc
该输出将保存到 buff
这将在编程时出现
最后休眠五秒钟

C ห้องสมุดมาตรฐาน - <stdio.h> C ห้องสมุดมาตรฐาน - <stdio.h>