📄 cb_string.cpp
字号:
/*
* Copyright (c) 2004,哈尔滨驰博电子公司软件部
* All rights reserved.
*
* 文件名称:CB_String.cpp
* 文件标识:
* 摘 要:
*
* 当前版本:1.0.3
* 作 者:Sam
* 完成日期:2004年8月16日
*
* 取代版本:1.0.2
* 原作者 :Sam
* 完成日期:2004年6月10日
*/
#include "CB_String.h"
#include "CB_Unit.h"
#include "Afx.h"
//##ModelId=4088A0C902C5
void CB_String::split(char *str, char split)
{
setString (str);
setSplitChar (split);
strcpy (m_string_buf, str);
}
//##ModelId=4088A1190357
CB_String::CB_String()
{
initialize();
}
//##ModelId=4088A119036B
CB_String::CB_String(char *str)
{
initialize();
setString (str);
}
//##ModelId=4088A11903D9
CB_String::~CB_String()
{
}
//##ModelId=4088A14602F7
void CB_String::initialize()
{
memset (m_string, '\0', sizeof(m_string));
memset (m_string_buf, '\0', sizeof(m_string_buf));
memset (m_string_result, '\0', sizeof(m_string_result));
m_nextFlag = false;
}
//##ModelId=4088A1690366
char *CB_String::getNext()
{
if (m_nextFlag == true)
return NULL;
char *pos;
char tempBuf[160];
memset (tempBuf, '\0', sizeof(tempBuf));
pos = index (m_string_buf, getSplitChar ());
if (pos != NULL)
{
int n = strlen (m_string_buf) - strlen (pos);
memset (m_string_result, '\0', sizeof (m_string_result));
strncpy (m_string_result, m_string_buf, n);
strcpy (tempBuf, pos+1);
strcpy (m_string_buf, tempBuf);
}
else
{
memset (m_string_result, '\0', sizeof(m_string_result));
strcpy (m_string_result, m_string_buf);
m_nextFlag = true;
}
return m_string_result;
}
//##ModelId=4088A17E017B
char *CB_String::getString()
{
return m_string;
}
//##ModelId=4088A1810017
void CB_String::setString(char *str)
{
memset (m_string, '\0', sizeof (str));
strcpy (m_string, str);
}
//##ModelId=4088A2E102EE
void CB_String::setSplitChar(char split)
{
m_split = split;
}
//##ModelId=4088A3BD0114
char CB_String::getSplitChar()
{
return m_split;
}
//##ModelId=40A32EA80131
int CB_String::getSplitCount()
{
int count = 0;
char buf[160];
CB_Unit::clearBuf (buf,160);
strcpy (buf, getString());
CB_Unit::trim(buf);
if (strlen(buf) <=0 )
{
count = 0;
goto EXIT;
}
char *p;
while (1==1)
{
p = index (buf, getSplitChar ());
if (p == 0)
break;
strcpy (buf, p+1);
count += 1;
}
EXIT:
return count+1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -