编写一个程序,检测标准IO的缓冲区的大小
更多资料请点击:我的目录
本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢。
效果如下:
#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的缓冲区的大小相关推荐
- Java黑皮书课后题第8章:*8.22(偶数个1)编写一个程序,产生一个6*6的填满0和1的二维矩阵,显示该矩阵,检测是否每行以及每列中有偶数个1
*8.22(偶数个1)编写一个程序,产生一个6*6的填满0和1的二维矩阵,显示该矩阵,检测是否每行以及每列中有偶数个1 题目 题目描述 破题 代码 题目 题目描述 8.22(偶数个1)编写一个程序,产 ...
- Java黑皮书课后题第6章:**6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。编写一个程序,提示用户输入一个密码,如果符合规则,则显示…否则显示…
6.18(检测密码)一些网站对于密码具有一些规则.编写一个方法检测字符串是否是一个有效密码.编写一个程序,提示用户输入一个密码,如果符合规则,则显示-否则显示- 题目 题目描述 破题 代码 运行示例 ...
- Java黑皮书课后题第5章:**5.45(统计:计算平均值和标准方差)在商务应用中……编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值以及标准方差
5.45(统计:计算平均值和标准方差)在商务应用中--编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值以及标准方差 题目 题目描述 破题 运行示例 代码 题目 题目描述 ...
- Java黑皮书课后题第4章:4.22(检测子串)编写一个程序,提示用户输入两个字符串,检测第二个字符串是否是第一个字符串的子串
4.22(检测子串)编写一个程序,提示用户输入两个字符串,检测第二个字符串是否是第一个字符串的子串 题目 题目概述 运行示例 破题:String方法.属性的使用 代码 题目 题目概述 4.22(检测子 ...
- 把java复制到e_编写一个程序,将e:\java目录下的所有.java文件复制到e:\jad目录下...
package cn.io.file.demo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...
- 编写一个程序,分别使用字节流和字符流拷贝一个文本文件
1.编写一个程序,分别使用字节流和字符流拷贝一个文本文件. 提示: 1)使用FileInputStream.FileOutputStream和FileReader.FileWriter分别进行拷贝 2 ...
- 编写一个程序,分别使用字符流和字节流拷贝一个文本文件。
**编写一个程序,分别使用字符流和字节流拷贝一个文本文件. 提示: (1)使用FileInputStream.FileOutputStream.FileReader.FileWriter分别进行拷贝: ...
- Java黑皮书课后题第8章:**8.36(拉丁方阵)拉丁方阵是一个n*n的数组,其中有n个不同的拉丁字母,并且每个拉丁字母恰好只在每行和每列中出现一次。编写一个程序,提示用户输入数字n和字符数组
**8.36(拉丁方阵)拉丁方阵是一个n*n的数组,其中有n个不同的拉丁字母,并且每个拉丁字母恰好只在每行和每列中出现一次 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.36 ...
- 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad
package com.hbut.test; import java.io.File; import java.io.FileNotFoundException; import java.io.Fil ...
最新文章
- 差分霍尔器件测量电路
- 框架之一:mybatis
- 系统优化怎么做-Tomcat优化
- 面试题:如何设计一个高并发系统?
- 【bzoj4145】[AMPPZ2014]The Prices 状压dp
- Goland使用技巧
- 让网页图片变灰色的三种方法
- Kaleidoscope for Mac(文件和图像比较工具)
- Word设置标题以及自动编号——保姆级教程
- 【渝粤题库】陕西师范大学200531 英语测试 作业(高起本、专升本)
- 瞎琢磨先生のJava工具类
- ffmpeg 一条命令实现 圆形画中画效果
- NISP管理中心|NISP二级证书介绍
- 「津津乐道播客」#397 厂长来了:怎样用科技给法律赋能?
- 如何设计一个抢红包系统(商品秒杀同理)
- (附源码)springboot幼儿园书刊信息管理系统 毕业设计141858
- 分子模拟-学习笔记(二)
- 移动端开发---手机使用验证码快速登录
- windows重命名文件脚本
- 硬核开篇:Arco Vue + Flask 手把手实战开发一测试需求平台