计算全缓冲的大小
2016-02-16 11:29
323 查看
思路:打开一个空文件,不断向文件中写入一个字符,一个字符占一个字节,num++判断info.st_size中是否有数据,一旦有数据,立刻break。
然后输出num.
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<error.h>
#include<errno.h>
#include<unistd.h>
#include<strings.h>
#include<stdbool.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<fcntl.h>
int main(int argc,char **argv)
{
FILE *fp = fopen("tmp","w");
if(fp == NULL)
{
fprintf(stderr,"fopen()%s failed:%s","tmp",strerror(errno));
exit(0);
}
struct stat info;
int size_num = 0;
while(1)
{
fputc('a',fp);
stat("tmp",&info);
if(info.st_size == 0)
{
size_num++;
}
else
{
printf("size_num:%d",size_num);
break;
}
}
fclose(fp);
remove("tmp");//删除文件
return 0;
}
然后输出num.
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<error.h>
#include<errno.h>
#include<unistd.h>
#include<strings.h>
#include<stdbool.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<fcntl.h>
int main(int argc,char **argv)
{
FILE *fp = fopen("tmp","w");
if(fp == NULL)
{
fprintf(stderr,"fopen()%s failed:%s","tmp",strerror(errno));
exit(0);
}
struct stat info;
int size_num = 0;
while(1)
{
fputc('a',fp);
stat("tmp",&info);
if(info.st_size == 0)
{
size_num++;
}
else
{
printf("size_num:%d",size_num);
break;
}
}
fclose(fp);
remove("tmp");//删除文件
return 0;
}
相关文章推荐
- 使用《Playground》来调试代码
- 第十二章内存管理
- NPOI操作EXCEL----------NPOI基础01
- NPOI操作EXCEL----------NPOI基础01
- 执行StartExecution时, 报ActiveX component can't createobject错误
- 【Java EE 学习第21天 使用易宝支付接口实现java网上支付功能】
- Oracle之UTL_FILE 包用法详解
- js点击复选框全选或全不选
- android 打电话
- 初识mysql数据库
- Eclipse 点击 Run 自动生成 out 文件的错误
- Negative value (-100) passed to setFirstResult
- mysql 中 unix_timestamp和from_unixtime 时间戳函数
- Android实现竖着的滑动刻度尺效果,选择身高(竖向的)Android实现滑动刻度尺效果,选择身高体重和生日------浅谈Andorid开发中的MVP模式
- Yii2.0对数据库 查询
- H5外包,微信H5开发
- 面向对象编程(十六)——内部类详解
- 学习osg渲染内核笔记
- 关于烂代码的那些事(中)
- github使用