在手机终端开发的时候,我们需要关注手机剩余空间,因为手机不像电脑一样空间宽裕,当设备空间比较少得时候需要释放空间.

用法:先引入头文件

#include <sys/param.h>

#include <sys/mount.h>

代码片段:

+ (long long) freeDiskSpaceInBytesByMB{

struct statfs buf;

long long freespace = -1;

if(statfs("/var", &buf) >= 0){

freespace = (long long)(buf.f_bsize * buf.f_bfree);

}

return freespace/1024/1024;

}

先来说说statfs这个东东,这是C语言函数,下面是官方的介绍:

#if __DARWIN_64_BIT_INO_T

struct statfs __DARWIN_STRUCT_STATFS64;

#else /* !__DARWIN_64_BIT_INO_T */

/*

* LP64 - WARNING - must be kept in sync with struct user_statfs in mount_internal.h.

*/

struct statfs {

short f_otype; /* TEMPORARY SHADOW COPY OF f_type */

short f_oflags; /* TEMPORARY SHADOW COPY OF f_flags */

long f_bsize; /* fundamental file system block size */

long f_iosize; /* optimal transfer block size */

long f_blocks; /* total data blocks in file system */

long f_bfree; /* free blocks in fs */

long f_bavail; /* free blocks avail to non-superuser */

long f_files; /* total file nodes in file system */

long f_ffree; /* free file nodes in fs */

fsid_t f_fsid; /* file system id */

uid_t f_owner; /* user that mounted the filesystem */

short f_reserved1; /* spare for later */

short f_type; /* type of filesystem */

long f_flags; /* copy of mount exported flags */

long    f_reserved2[2]; /* reserved for future use */

char f_fstypename[MFSNAMELEN]; /* fs type name */

char f_mntonname[MNAMELEN]; /* directory on which mounted */

char f_mntfromname[MNAMELEN];/* mounted filesystem */

char f_reserved3; /* For alignment */

long f_reserved4[4]; /* For future use */

};

#endif /* __DARWIN_64_BIT_INO_T */

如何获得iphone设备的剩余空间的更多相关文章

  1. /tmp/crontab.tDoyrp: 设备上没有空间 查看文件夹所在分区 磁盘剩余空间 15g的root-mail大文件

    问题诊断: 文件夹所在磁盘已满 问题确认: 查看文件夹所在磁盘剩余空间,找出空间被消耗的文件(集) 查看文件夹所在磁盘空间的所属文件(暂未解决) [root@hadoop1 /]# df -Bg /t ...

  2. ios5和ios6横竖屏支持及ipad和iphone设备的判断

    ios5和ios6横竖屏支持及ipad和iphone设备的判断 判断是ipad还是iphone设备.此定义在PayViewControllerDemo-Prefix.pch 定义如下: #define ...

  3. 系统服务监控指标--load、CPU利用率、磁盘剩余空间、磁盘I/O、内存使用情况等

    介绍 大型互联网企业的背后,依靠的是成千上万台服务器日夜不停的运转,以支撑其业务的运转.宕机对于互联网企业来说,代价是沉重的,轻则影响用户体验,重则直接影响交易,导致交易下跌,并且给企业声誉造成不可挽 ...

  4. android计算每个目录剩余空间丶总空间以及SD卡剩余空间

    ublic class MemorySpaceCheck { /** * 计算剩余空间 * @param path * @return */ public static String getAvail ...

  5. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  6. 关于iPhone设备不同显示尺寸适配的一些方法

    关于iPhone设备不同显示尺寸适配的一些方法   ------关于适配的理解------ 1.什么是适配? 适配是对不同硬件和系统软件的适应,硬件包括屏幕显示,处理器,内存等等(目前主要是屏幕适配, ...

  7. css实现div的高度填满剩余空间

    css实现div的高度填满剩余空间 .top{ width: 100%; height: 70px;} .bottom{background-color: #cc85d9;width: 100%;po ...

  8. sql 查询服务器硬盘剩余空间

    DECLARE @tb1 Table( drive varchar(20), [MB 可用空间] varchar(20)) INSERT INTO @tb1 Exec master.dbo.xp_fi ...

  9. android 判断sd的状态,所有文件,剩余空间的大小

    public class MainActivity extends AppCompatActivity { String TAG = MainActivity.class.getCanonicalNa ...

随机推荐

  1. Spring Boot 获取ApplicationContext

    package com.demo; import org.springframework.beans.BeansException; import org.springframework.contex ...

  2. CSS3 过渡transition 认识

    其实,我一直觉得自己对新知识是以一种抵触的情绪在学习的.因为我总是习惯于将事情想得很复杂,所以也错过了很多美好的东西. 以前觉得CSS3的知识应该是很难的,很难理解的.但是我发现我觉得知识点很难,是因 ...

  3. ajax调用服务的基本格式

    <个人积累,转载请注明出处> 格式如下: $.ajax({ type: "post", //访问WebService使用Post方式请求 url: "http ...

  4. ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

    ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...

  5. c#转义字符串中的所有正则特殊字符

    /// <summary> /// 转义字符串中所有正则特殊字符 /// </summary> /// <param name="input"> ...

  6. C++例题练习(1)

    环境:Dev-C++( Version:5.6.1) 一.求2个或3个正整数中的最大数,用带有默认参数的函数实现 代码实现: #include <iostream> using names ...

  7. C#break、continue、return、goto

    1.break break语句会使运行的程序立即退出包含在其中的最内层循环(结束此次循环且结束该循环控制体)或者switch语句 ; ; j < ; j++) { i++; )break; Co ...

  8. Java实战之04JavaWeb-01Servlet

    一.Http协议 1.什么是http协议? http协议就是描述客户端与服务器端交互过程的 2.http的请求 3.http的响应 二.Servlet的简介 1.Servlet的概述 Servlet: ...

  9. List分页显示

    //对List集合 数据进行分页  int pageNum = page.getPageNo();// 当前显示第几页 int perPageNum = page.getPageSize(); // ...

  10. 13_ServletContext对象

    [简介] ServletContext即Servlet上下文对象,该对象表示当前的web应用环境信息,一个Web应用只会创建一个ServletContext对象. Web容器启动的时候,它会为每个We ...