首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

进来看一下,小弟感激万分

2014-07-22 
各位高手进来看一下,小弟感激万分首先我定义了一个结构如下:typedefstructmystruct{intnum;CStringstr;};

各位高手进来看一下,小弟感激万分
首先我定义了一个结构如下:
typedef   struct   mystruct   {
int   num;
                CString   str;
}   ;

然后我实例化一个指针
struct   mystruct   m_mystruct1;

再然后我通过一个函数填入数据,循环多少次是不定的,假定6次
void   FillArray()
{
                for   (int   i   =   0;i   <   6;i++)
                {
                m_mystruct1[i].num   =   i;
                m_mystruct1[i].CString   =   "ForTest ";
                  }
}

最后我将它写入一个文件
FILE   *outfile;

if   ((outfile=fopen(m_strFile,   "wb "))   ==   NULL)
{
return;
}

if   (fwrite((void*)m_mystruct1,   sizeof(struct   mystruct),   array_max_index   +   1,   outfile)   <   array_max_index)
{
fclose(outfile);
return   1;
}

以上这些是没有问题的,我的问题是如果我不是把它写入文件,我希望用一个BYTE的指针变和一个short的值将m_mystruct1的内容和长度保存进来,应该怎么办呢,谢谢大家了,非常着急!

[解决办法]
如果你确信其长度在 [0, 255] 范围内, 那么一个 BYTE 就可以表示其长度了. 每增加一个结构体就让这个 BYTE 变量增 1 . BYTE 指针就没有必要了, 因为指针是 32 位的, 那还不如用 int . 用 short 好象不能表示这个结构体的内容吧 .

热点排行