请问有关读文件问题。(在线结贴)

keluos 2003-08-22 03:21:10
当我用findfirst(,,)函数时,它需要传入一个结构
如下:
struct ffblk {
long ff_reserved;
long ff_fsize; /* file size */
unsigned long ff_attrib; /* attribute found */
unsigned short ff_ftime; /* file time */
unsigned short ff_fdate; /* file date */
char ff_name[256]; /* found file name */
};
请问这个结构传回来的ff_ftime,ff_fdate该怎样理解,如果我建立一个文件后马上去读
它,可是返回的ff_fdate个我读Now()的整数部分并不一样,请那位大侠解释一些,谢谢?
...全文
20 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2003-08-22
  • 打赏
  • 举报
回复
试试我的程序,没问题
union {
int ftime;
struct
{
unsigned second2:5;
unsigned minutes:6;
unsigned hours:5;
} ftb;
} ft;
union {
int fdate;
struct
{
unsigned day:5;
unsigned month:4;
unsigned years:7;
} fdb;
} fd;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
struct ffblk fk;
if(findfirst("aaa.bmp",&fk,NULL))
{
ShowMessage("error");
return;
}
String x;
fd.fdate = fk.ff_fdate;
x.printf("%04d:%02d:%02d ",fd.fdb.years+1980,fd.fdb.month,fd.fdb.day);
ft.ftime=fk.ff_ftime;
x.cat_printf("%02d:%02d:%02d",ft.ftb.hours,ft.ftb.minutes,ft.ftb.second2/2);
ShowMessage(x);

}
柯本 2003-08-22
  • 打赏
  • 举报
回复
help里很清楚
ff_ftime:

Bits 0 to 4 The result of seconds divided by 2 (for example 10 here means 20 seconds)
Bits 5 to 10 Minutes
Bits 11 to 15 Hours

ff_fdate:

Bits 0-4 Day
Bits 5-8 Month
Bits 9-15 Years since 1980 (for example 9 here means 1989)

The structure ftime declared in io.h uses time and date bit fields similar in structure to ff_ftime and ff_fdate.

它是C的标准函数,在win32下建议用VCL的
extern PACKAGE int __fastcall FindFirst(const AnsiString Path, int Attr, TSearchRec &F);

或API的

HANDLE FindFirstFile(

LPCTSTR lpFileName, // pointer to name of file to search for
LPWIN32_FIND_DATA lpFindFileData // pointer to returned information
);
keluos 2003-08-22
  • 打赏
  • 举报
回复
我明白了,原来与DOS file date/time value有关
Re:  FastDFS 分布式文件系统部署 ============================== FastDFS 分布式存储主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等 它的存储特点是对文件体积小或超小,同时文件的数量特别多的存储情况支持较好,(如果是大文件的存储就推荐使用 Glusterfs 分布式网络文件存储),所谓的小文件就是指网站的图片,文档或者小视频等等,体积范围在4K~500MB之间。所谓的大文件指软件的镜像包、电影等等。 除了FastDFS存储文件特点之外,它同时具备自我负载均衡的能力,可以解决了运维自动化的关键问题。 # 块存储、文件存储、对象存储这三者的本质差别是什么? 1)块存储:磁盘阵列,硬盘(块存储主要是将裸磁盘空间整个映射给主机使用的) 2)文件存储:FTP、NFS服务器(解决文件无法共享的问题) 3)对象存储:内置大容量硬盘的分布式服务器(解决容量、性能、可靠性等问题) 多台服务器内置大容量硬盘,再装上对象存储软件, 然后再额外搞几台服务作为管理节点,安装上对象存储管理软件。 # gluterfs主要运行场景: 存储大文件,针对小文件或超小文件的支持比较差 KVM镜像 视频文件 # FastDFS主要运行场景: 存放文件size范围:4K~500MB # 对象存储 - GlusterFS、Ceph、FastDFS(非对象存储) 必备技能:DRBD/NFS/MooseFS/ GlusterFS/ FastDFS/TFS(http://tfs.taobao.org/)/ # 访问客户端:只能专用API访问实现 存放单元文件size范围:4K~500MB(阅、声音、视频网站) # 典型用户:      ... ... 

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧