首页 > 其他分享 >C语言学习: 文件流的缓冲

C语言学习: 文件流的缓冲

时间:2023-02-12 15:23:14浏览次数:42  
标签:文件 int 缓冲 C语言 INT file PRINT include

没有缓冲

有了缓冲

 

 创建file变量时,传入的参数:

 

可以用fflush, 清空缓冲区,让缓冲区内存的数据立刻打印出来。

 1 #include <stdio.h>
 2 #include <io_utils.h>
 3 #include <errno.h>
 4 #include <string.h>
 5 
 6 char std_buffer[BUFSIZ];
 7 
 8 int main() {
 9   setbuf(stdout, std_buffer);
10 
11   FILE *file = fopen("CMakeLists.txt", "r");
12   char buf[8192];
13   //setbuf(file, NULL);
14   if (file) {
15     setvbuf(file, buf, _IOLBF, 8192);
16     //...
17     puts("Open successfully.");
18     int err = ferror(file);
19     PRINT_INT(err);
20 
21     int eof = feof(file);
22     PRINT_INT(eof);
23     fflush(stdout);
24     fclose(file);
25   } else {
26     PRINT_INT(errno);
27     puts(strerror(errno));
28     perror("fopen");
29   }
30   return 0;
31 }
View Code

 

标签:文件,int,缓冲,C语言,INT,file,PRINT,include
From: https://www.cnblogs.com/liumy/p/17113847.html

相关文章

  • C语言填空:strcpy功能实现
    #include<stdio.h>//将字符数组a的全部字符复制到字符数组b中(要求不用strcpy函数)//并输出新字符串【1】main(){chara[100],b[100];intc,d,f;【2......
  • C语言填空:回文字符串
    #include<stdio.h>//输入一个字符串(20个字符以内),判断其是否是回文字符串(回文字符串是指正反一样的字符串)。【1】main(){chara[21];intb,【2】,len;......
  • 文件结束的判断
    一、EOFEOF被定义为-1,在文本文件中做结束标志因此通常读写文本文件时,通过读取的字符是否为EOF判断是否结束(二进制文件中可能出现-1,不能用这个条件判断)二、feof()函数intfeo......
  • 误删的Downloads文件夹如何找回?Downloads文件夹恢复方法~
    如果不小心误删除了Downloads文件夹,如何让其快速恢复呢?今天分享Downloads文件夹恢复方法,需要的小伙伴走起~方法1.将Downloads文件夹从Home目录恢复到Dock如果下载文......
  • C语言--指针与数组
    1.数组的本质就是一片连续的内存;2.一些事实-使用取地址操作符&获取数组的地址-数组名可看作一个指针,代表数组中0元素的地址-当指针指向数组元素时,可......
  • C语言学习:计算时间差
     1#include<io_utils.h>2#include<time_utils.h>3#include<time.h>45#definePI3.141592667voidDoHardWork(){8doublesum=0;9......
  • C语言学习:解析时间
     1#define_XOPEN_SOURCE23#include<io_utils.h>4#include<time_utils.h>5#include<time.h>67intmain(){8long_time_tcurrent_time_in_......
  • C语言--深入理解指针与地址
    1.初学指针的军规--Type*类型的指针只保存Type类型变量的地址--禁止不同类型的指针相互赋值注意:指针保存的地址必须是有效地址eg:inti=10;floa......
  • C语言学习:格式化时间
     1#include<io_utils.h>2#include<time_utils.h>3#include<time.h>45intmain(){6long_time_tcurrent_time_in_ms=TimeInMillisecond();7......
  • C语言--指针:一种特殊的变量
    1.因为是变量,所以用于保存具体值,特殊之处,指针保存的值是内存中的地址--内存地址:内存就是计算机中的存储部件,每个存储单元有固定唯一的编号--内存中存储单元的编......