更多资料请点击:我的目录

本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢。
效果如下:

#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>    int main(int argc, char **argv)
{struct stat info;                  //结构体stat用来获取指定路径的文件或者文件夹的信息bzero(&info , sizeof(info));if(argc != 2)  //判断输入参数是否正确{perror("输入格式错误!用法:<文件>\n");exit(0);  }FILE *src = fopen(argv[1], "w");    //标准IO获取指定文件的文件指针if(src == NULL)                      //获取失败,返回NULL{perror("打开文件失败!\n");exit(0);  }while(1){fwrite("a",1,1,src);            //将若干块数据写入指定的文件stat(argv[1], &info);if(info.st_size > 0)break;}printf("缓冲区大小: %ld\n",info.st_size); fclose(src);                        //关闭指定的文件并释放其资源return 0;
}

结构体 struct stat 详解
需要包含头文件:

#include <sys/stat.h>
#include <sys/types.h>
struct stat
{   dev_t       st_dev;     /* ID of device containing file -文件所在设备的ID*/  ino_t       st_ino;     /* inode number -inode节点号*/    mode_t      st_mode;    /* protection -保护模式*/    nlink_t     st_nlink;   /* number of hard links -链向此文件的连接数(硬连接)*/    uid_t       st_uid;     /* user ID of owner -user id*/    gid_t       st_gid;     /* group ID of owner - group id*/    dev_t       st_rdev;    /* device ID (if special file) -设备号,针对设备文件*/    off_t       st_size;    /* total size, in bytes -文件大小,字节为单位*/    blksize_t   st_blksize; /* blocksize for filesystem I/O -系统块的大小*/    blkcnt_t    st_blocks;  /* number of blocks allocated -文件所占块数*/    time_t      st_atime;   /* time of last access -最近存取时间*/    time_t      st_mtime;   /* time of last modification -上次修改时间*/    time_t      st_ctime;   /* time of last status change -上次状态更改时间 */
};

正确——返回0
错误——返回-1,具体错误码保存在errno中

更多资料请点击:我的目录

编写一个程序,检测标准IO的缓冲区的大小相关推荐

  1. Java黑皮书课后题第8章:*8.22(偶数个1)编写一个程序,产生一个6*6的填满0和1的二维矩阵,显示该矩阵,检测是否每行以及每列中有偶数个1

    *8.22(偶数个1)编写一个程序,产生一个6*6的填满0和1的二维矩阵,显示该矩阵,检测是否每行以及每列中有偶数个1 题目 题目描述 破题 代码 题目 题目描述 8.22(偶数个1)编写一个程序,产 ...

  2. Java黑皮书课后题第6章:**6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。编写一个程序,提示用户输入一个密码,如果符合规则,则显示…否则显示…

    6.18(检测密码)一些网站对于密码具有一些规则.编写一个方法检测字符串是否是一个有效密码.编写一个程序,提示用户输入一个密码,如果符合规则,则显示-否则显示- 题目 题目描述 破题 代码 运行示例 ...

  3. Java黑皮书课后题第5章:**5.45(统计:计算平均值和标准方差)在商务应用中……编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值以及标准方差

    5.45(统计:计算平均值和标准方差)在商务应用中--编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值以及标准方差 题目 题目描述 破题 运行示例 代码 题目 题目描述 ...

  4. Java黑皮书课后题第4章:4.22(检测子串)编写一个程序,提示用户输入两个字符串,检测第二个字符串是否是第一个字符串的子串

    4.22(检测子串)编写一个程序,提示用户输入两个字符串,检测第二个字符串是否是第一个字符串的子串 题目 题目概述 运行示例 破题:String方法.属性的使用 代码 题目 题目概述 4.22(检测子 ...

  5. 把java复制到e_编写一个程序,将e:\java目录下的所有.java文件复制到e:\jad目录下...

    package cn.io.file.demo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...

  6. 编写一个程序,分别使用字节流和字符流拷贝一个文本文件

    1.编写一个程序,分别使用字节流和字符流拷贝一个文本文件. 提示: 1)使用FileInputStream.FileOutputStream和FileReader.FileWriter分别进行拷贝 2 ...

  7. 编写一个程序,分别使用字符流和字节流拷贝一个文本文件。

    **编写一个程序,分别使用字符流和字节流拷贝一个文本文件. 提示: (1)使用FileInputStream.FileOutputStream.FileReader.FileWriter分别进行拷贝: ...

  8. Java黑皮书课后题第8章:**8.36(拉丁方阵)拉丁方阵是一个n*n的数组,其中有n个不同的拉丁字母,并且每个拉丁字母恰好只在每行和每列中出现一次。编写一个程序,提示用户输入数字n和字符数组

    **8.36(拉丁方阵)拉丁方阵是一个n*n的数组,其中有n个不同的拉丁字母,并且每个拉丁字母恰好只在每行和每列中出现一次 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.36 ...

  9. 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad

    package com.hbut.test; import java.io.File; import java.io.FileNotFoundException; import java.io.Fil ...

最新文章

  1. 差分霍尔器件测量电路
  2. 框架之一:mybatis
  3. 系统优化怎么做-Tomcat优化
  4. 面试题:如何设计一个高并发系统?
  5. 【bzoj4145】[AMPPZ2014]The Prices 状压dp
  6. Goland使用技巧
  7. 让网页图片变灰色的三种方法
  8. Kaleidoscope for Mac(文件和图像比较工具)
  9. Word设置标题以及自动编号——保姆级教程
  10. 【渝粤题库】陕西师范大学200531 英语测试 作业(高起本、专升本)
  11. 瞎琢磨先生のJava工具类
  12. ffmpeg 一条命令实现 圆形画中画效果
  13. NISP管理中心|NISP二级证书介绍
  14. 「津津乐道播客」#397 厂长来了:怎样用科技给法律赋能?
  15. 如何设计一个抢红包系统(商品秒杀同理)
  16. (附源码)springboot幼儿园书刊信息管理系统 毕业设计141858
  17. 分子模拟-学习笔记(二)
  18. 移动端开发---手机使用验证码快速登录
  19. windows重命名文件脚本
  20. 硬核开篇:Arco Vue + Flask 手把手实战开发一测试需求平台

热门文章

  1. Windows事件日志监听
  2. Python案例之《外星人入侵》
  3. mysql 查询不重复的值_在 MySQL 中查询不重复记录值的方法
  4. 学习周报202011004 | 攒一大波分享给大家
  5. MyBatisPlus--多数据源
  6. C++ 按行读取数据文件,每行以tab分隔
  7. 配置AAA认证和授权
  8. linux主机名(静态主机名、临时主机名)
  9. 手把手教你用css画网格
  10. You may use special comments to disable some warnings. 报错解决的三种方式