#include <iostream>
#include <windows.h>
using namespace std;
 /*文件大小格式化
*param [in] dwSize xx.xxB 、xx.xxKb 、xx.xxM
*/ LPCTSTR CFileUtil::FileSizeToFormat(DWORD dwSize)
{
TCHAR* strSize = new TCHAR[];
ZeroMemory(strSize,sizeof(TCHAR) * ); double i = pow((double),); if (dwSize < pow((double),))//dwSize < 1024
{
_stprintf_s(strSize,,TEXT("%dB"),dwSize);//文件大小 B
}
else if (pow((double),) <= dwSize && dwSize< pow((double),))// 1024 <= dwSize < 1024*1024
{
float fSize = (float)(dwSize*/)/;
_stprintf_s(strSize,,TEXT("%.2fKB"),fSize);
}
else if (pow((double),) <= dwSize && dwSize < pow((double),))// 1024*1024 <= dwSize < 1024*1024*1024
{
float fSize = (float)(dwSize/*/)/;
_stprintf_s(strSize,,TEXT("%.2fM"),fSize);//文件大小 M
}
else if (pow((double),) <= dwSize && dwSize < pow((double),)) // 1024*1024*1024 <= dwSize < 1024*1024*1024*1024
{
float fSize = (float)(dwSize/*//)/;
_stprintf_s(strSize,,TEXT("%.2fG"),fSize);//文件大小 G
}
else
{
float fSize = (float)(dwSize/*///)/;
_stprintf_s(strSize,,TEXT("%.2fT"),fSize);//文件大小 T
} return strSize;
}
 /*根据文件大小进行格式化
*@[in ] llBytes 文件的长度(B)
*@[out] pszSize 缓冲区
*@[in ] clen 缓冲区长度
*/ BOOL FileSizeToStringA(LONGLONG llBytes, char* pszSize, DWORD cLen)
{
double bytes = (double)llBytes;
DWORD cIter = ;
char* pszUnits[] = { ("B"), ("KB"), ("MB"), ("GB"), ("TB") };
DWORD cUnits = sizeof(pszUnits) / sizeof(pszUnits[]); // move from bytes to KB, to MB, to GB and so on diving by 1024
while(bytes >= && cIter < (cUnits-))
{
bytes /= ;
cIter++;
}
_snprintf_s(pszSize, cLen, _TRUNCATE,("%.2f %s"), bytes, pszUnits[cIter]);
return TRUE;
} int main()
{
char szText[];
FileSizeToStringA(,szText,); cout << "szText:" << szText << endl; getchar();
return ;
}

C++ 文件大小格式化的更多相关文章

  1. PHP文件大小格式化函数合集

    比如碰到一个很大的文件有49957289167B,大家一看这么一长串的数字后面单位是字节B,还是不知道这个文件的大小是一个什么概念,我们把它转换成GB为单位,就是46.53GB.用下面这些函数就可以完 ...

  2. 根据文件大小自动判断单位B,KB,MB,GB

    <php> /** * 文件大小格式化 * @param integer $size 初始文件大小,单位为byte * @return array 格式化后的文件大小和单位数组,单位为by ...

  3. Android数据格式化

    1.文件大小格式化: Log.d(TAG, Formatter.formatFileSize(this, 100)); //100 B Log.d(TAG, Formatter.formatFileS ...

  4. 30分钟玩转Net MVC 基于WebUploader的大文件分片上传、断网续传、秒传(文末附带demo下载)

    现在的项目开发基本上都用到了上传文件功能,或图片,或文档,或视频.我们常用的常规上传已经能够满足当前要求了, 然而有时会出现如下问题: 文件过大(比如1G以上),超出服务端的请求大小限制: 请求时间过 ...

  5. python框架之Django(3)-模版

    常用语法 符号 {{...}} # 变量相关 {%...%} # 逻辑相关 {#...#} # 注释 使用变量 def test(request): name = '张三' age = 19 retu ...

  6. 基于jquery ajax的多文件上传进度条

    效果图 前端代码,基于jquery <!DOCTYPE html> <html> <head> <title>主页</title> < ...

  7. 文件 File 常见操作 工具 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. JavaScript常用方法

    判断运行客户端 function isPhone() { var flag = false; var userAgentInfo = navigator.userAgent; var Agents = ...

  9. 使用百度的webuploader进行附件上传

    相较于之前使用的上传空间的优点:支持html5,不用再安装flash插件,没有大小限制,分片以后上传,上传以后再进行合并. 前端js代码 <script type="text/java ...

随机推荐

  1. MySQL 重做日志文件

    一.innodb log的基础知识 · innodb log顾名思义:即innodb存储引擎产生的日志,也可以称为重做日志文件,默认在innodb_data_home_dir下面有两个文件ib_log ...

  2. 编译x11版本qt

    用buildroot 选择x11相关 在选择qt x11版本   export PATH=~/buildroot/output/host/usr/bin:$PATH 进入~/buildroot/out ...

  3. 新购买的vps应该做的几件事情

    1. 修改root密码      passwd   root 2.新建用户     useradd  vinentguo 3.配置免密码登陆 .使用新建用户登陆vps. mkdir ~/.ssh/ch ...

  4. MySQL锁定状态查看相关命令

    1.show processlist; SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到 ...

  5. SPARQL 入门教程

    1.准备工作 1.1 下载ZIP 1.2 配置环境变量 1.3 查询文件 vc-db-1.rdf 2. 查询操作 2.1 普通查询 /** * 查询family为"Smith"的 ...

  6. 学习计划 mysql 主从复制

    网上资料繁多,需要跳多少坑才能实现,跳跳就知道了. -- 主从复制 如题:主数据库进行的操作,从数据库进行备份. -- 原理 有关于这方面的原理网上也是一搜一大片,去看看吧.肯定没错. 这里简单说一下 ...

  7. xshell免费下载安装使用

    下载链接:https://www.netsarang.com/zh/all-downloads/ 然后点击下载: 然后接下来这一步很关键: 点击免费授权页面,然后填完邮箱会有激活链接,然后就可以下载免 ...

  8. oracle数据迁移到mysql

    今天遇到需求要把oracle的部分数据搬到mysql,用java代码抓数据,然后拼接成sql语句,然后用navicat执行sql脚本的方法,导入数据库. import oracle.jdbc.driv ...

  9. 启动HDFS

    $cd /app/hadoop/hadoop-2.2.0/sbin $./start-dfs.sh

  10. 图片放大_css3

    .flash_little_img{position:relative;}.flash_little_img{width:500px;height:333px;border:none; margin: ...