热情软件屋

 

用文件流写结构时,它的大小该如何确定


编号:QA003679
建立日期: 2000年12月18日 最后修改日期:2000年12月18日
所属类别:

hqh0717:
    操作系统: windows9X
    编程工具: VC++
    问题: 把单个文件包在EXE里的情况,我已经能处理了,但是要把多个文件包进去就必须有一个用于记录文件信息的结构,在用文件流写这个结构时,它的大小该如何确定?也就是说该在Write(void *p, int count)中的count该如何确定?如果大小不对,写进去的不对,读出来的也不对。
    假设我定义了一个结构(干脆用类好了):
    class MyFileRec
    {
     char *FileName;
     int offset;
     int size;
     int GetRecSize();
    }
    FileName这一项该定义为什么类型?关键是我不好确定它的大小,以至于不能确定写入时的count值。
    水平: 中级

回答:

    FileName定义成字符串数组比较好,如:
    char FileName[_MAX_PATH];
    这样你可以使用sizeof(MyFileRec)获得所定义结构的大小。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio