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

望高手们不吝赐教!该怎么解决

2012-03-05 
望高手们不吝赐教!!!刚到一家手机公司,要求做一个备忘录,就像一般手机里面用的那种,能够实现添加,删除,察

望高手们不吝赐教!!!
刚到一家手机公司,要求做一个备忘录,就像一般手机里面用的那种,能够实现添加,删除,察看等功能。在考虑怎么做的时候,遇到几个难题,想在这里问问大家怎么解决,  
用一个链表
typedef   struct   _NOTEKOOK_
{      
    UINT8   Index;                           //文本的索引值
    UINT8   Length;                           //文本的长度
    UINT8*   Content;               //保存备忘录的文本内容
    struct   _NOTEBOOK_   *pNext;
}NOTEBOOK;
#define   MAXNUMBER     5

NOTEBOOK   *g_Buffer
NOTEBOOK   *g_Buffer;
NOTEBOOK   *g_Temp;
NOTEBOOK   *g_List;
NOTEBOOK   *g_ListFree;
NOTEBOOK   *g_ListFreeTail;
NOTEBOOK   *g_ListTail;
NOTEBOOK   g_ListBuffer[MAXNUMBER];
void   InitialListBuffer()
{

    UINT16   Num=   0;

    g_List   =   g_ListTail   =   NULL;
    memset(g_ListBuffer,   0x00,   sizeof(NOTEBOOK   )   *   MAXNUMBER);
    g_ListFree   =   g_ListFreeTail   =   g_ListBuffer;

    while(Num   <   MAXNUMBER)
  {
          g_ListFreeTail-> pNext   =   ++g_ListFreeTail;
          Num++;
    }
g_ListFreeTail-> pNext   =   NULL;
}
INT32   AddNode()
{
    if(g_Buffer   !=   NULL)  
    {
g_Temp   =   g_ListFree;
g_ListFree   =   g_ListFree-> pNext;
memcpy(g_Temp,   g_Buffer,   sizeof(NOTEBOOK   ));
if(g_List   ==   NULL)
{
g_List   =   g_Temp;
g_List-> pNext   =   NULL;
g_ListTail   =   g_List;
}
else
{
g_Temp-> pNext   =   g_List;
g_List   =   g_Temp;
}
return   0;
      }
    else  
          return   -1;

}

void   main()
{
    INT8   i;
    NOTEBOOK   *pTemp;
   
    InitialListBuffer();
    for   (i   =   0;   i   <   5;   i++)
    {
          pTemp   =   Malloc(sizeof(NOTEBOOK));
          Read_Flash_File( "XXX ",   pTemp,   sizeof(NOTEBOOK));      
          if   (pTemp)
          {
            g_Buffer-> Content   =   pTemp-> Content;
            g_Buffer-> Length   =   pTemp-> Length;
            g_Buffer-> Index   =   i;
            AddNode();
          }
          Free(pTemp);
         
    }
}
我先贴部分程序
在初始化的时候,首先得从文件系统里面读出内容。
Read_Flash_File(“\..”,   Buffer,   sizeof(NOTEBOOK));
如果备忘录为空的话,应该Buffer为空,不为空的话,就能取出备忘录的内容,然后排成一个列表。可是读Buffer的时候,始终不为空。我想知道有没有其他的方法能够解决这个问题,望大家指点。现在我对做这个备忘录也没有一个很好的实现方案,如果大家有兴趣或者曾经做过的话,能不能介绍一些经验分享,提供一些方法?谢谢了





[解决办法]
Read_Flash_File函数的介绍呢?

热点排行