mjpeg_streamer_client中链表操作

本文介绍了一种链表操作实现方式,包括将显示设备的操作函数添加到链表末尾的注册功能,以及根据名字从链表中查找指定显示模块的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

添加到链表末端:

/**********************************************************************

 * 函数名称: RegisterDispOpr

 * 功能描述: 注册"显示模块", 把所能支持的显示设备的操作函数放入链表

 * 输入参数: ptDispOpr - 一个结构体,内含显示设备的操作函数

 * 输出参数: 无

 * 返 回 值: 0 - 成功, 其他值 - 失败

 * 修改日期        版本号     修改人           修改内容

 * -----------------------------------------------

 * 2013/02/08          V1.0     韦东山           创建

 ***********************************************************************/

int RegisterDispOpr(PT_DispOpr ptDispOpr)

{

       PT_DispOpr ptTmp;

 

       if (!g_ptDispOprHead)

       {

              g_ptDispOprHead   = ptDispOpr;

              ptDispOpr->ptNext = NULL;

       }

       else

       {

              ptTmp = g_ptDispOprHead;

              while (ptTmp->ptNext)

              {

                     ptTmp = ptTmp->ptNext;

              }

              ptTmp->ptNext     = ptDispOpr;

              ptDispOpr->ptNext = NULL;

       }

 

       return 0;

}

 

根据名字查找在链表中的位置:

/**********************************************************************

 * 函数名称: GetDispOpr

 * 功能描述: 根据名字取出指定的"显示模块"

 * 输入参数: pcName - 名字

 * 输出参数: 无

 * 返 回 值: NULL   - 失败,没有指定的模块,

 *            非NULL - 显示模块的PT_DispOpr结构体指针

 * 修改日期        版本号     修改人           修改内容

 * -----------------------------------------------

 * 2013/02/08          V1.0     韦东山           创建

 ***********************************************************************/

PT_DispOpr GetDispOpr(char *pcName)

{

       PT_DispOpr ptTmp = g_ptDispOprHead;

      

       while (ptTmp)

       {

              if (strcmp(ptTmp->name, pcName) == 0)

              {

                     return ptTmp;

              }

              ptTmp = ptTmp->ptNext;

       }

       return NULL;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值