嵌入式系统多语言文本解决方案
* 功能:
根据指定的信息直接建立字符串,函数返回字符串指针
* 参数:
1.WORD * pContent: 字符串内容
* 返回:
成功返回字符串指针
失败返回NULL
* 备注:
***/
GUISTRING * CreateStringDirect(WORD * pContent)
{
GUISTRING * pStr;
//尝试为字符串分配内存
if (!(pStr = GuiMemAlloc(sizeof(GUISTRING))))
{
PRINT_INF(CreateStringDirect Err0!);
return NULL;
}
//字符串内容为空,建立一个空字符串对象
if (!pContent)
{
pStr->wWidth = 0;
pStr->wLength = 0;
pStr->pContent = NULL;
return pStr;
}
//统计字符串长度
pStr->wLength = 0;
pStr->pContent = pContent;
while (*pStr->pContent++)
{
pStr->wLength++;
}
//尝试为字符串内容分配内存
if (!(pStr->pContent = GuiMemAlloc((pStr->wLength + 1) 1)))
{
GuiMemFree(pStr);
PRINT_INF(CreateStringDirect Err1!);
return NULL;
}
//写入字符串内容
memcpy(pStr->pContent, pContent, (pStr->wLength + 1) 1);
//计算字符串宽度
if (_StringObjectFill(pStr))
{
GuiMemFree(pStr->pContent);
GuiMemFree(pStr);
PRINT_INF(CreateStringDirect Err2!);
return NULL;
}
return pStr;
}
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论