当前位置: 首页>>代码示例>>C++>>正文


C++ AnsiStr::lastChar方法代码示例

本文整理汇总了C++中AnsiStr::lastChar方法的典型用法代码示例。如果您正苦于以下问题:C++ AnsiStr::lastChar方法的具体用法?C++ AnsiStr::lastChar怎么用?C++ AnsiStr::lastChar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AnsiStr的用法示例。


在下文中一共展示了AnsiStr::lastChar方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: extractSection

//====================================================================================
int IniFile::extractSection(const AnsiStr& title, std::vector<AnsiStr>& lines) {

    lines.resize(0);
    AnsiStr str;

    AnsiStr titleUpperCased = title;
    titleUpperCased.toUpper();
    int idxStart = -1;
    for(int i=0; i < (int)m_content.size(); i++)
    {
        str = m_content[i];

        if((str.firstChar() == '[')&&(str.lastChar() == ']'))
        {
            //[ + ] =  2
            str = str.substr(1, str.length() - 2);
            if(str.toUpper() == titleUpperCased) {
                idxStart = i;
                break;
            }
        }
    }

    //Process Content
    for(int i=idxStart+1; i < (int)m_content.size(); i++) {
        str = m_content[i];
        if((str.firstChar() == '[')&&(str.lastChar() == ']'))
            break;
        else
            lines.push_back(str);
    }

    return (int)lines.size();
}
开发者ID:GraphicsEmpire,项目名称:tetcutter,代码行数:35,代码来源:inifile.cpp

示例2: ExtractOneLevelUp

//==================================================================
AnsiStr ExtractOneLevelUp(const AnsiStr& strFilePath)
{
	AnsiStr strOutput = strFilePath;
	bool bHasLastSlash = false;
	char lastSlash;

	//Remove last forward or backward slash
	while((strOutput.lastChar() == '/') || (strOutput.lastChar() == '\\'))
	{
		lastSlash = strOutput.lastChar();
		strOutput = strOutput.substr(0, strOutput.length() - 1);		
		bHasLastSlash = true;
	}

    int pos = 0;
	//Up one level
	if(strOutput.rfind('/', pos))
		strOutput = strOutput.substr(0, pos);
	else if(strOutput.rfind('\\', pos))
		strOutput = strOutput.substr(0, pos);
	
	if(bHasLastSlash)
		strOutput += lastSlash;

	return strOutput;
}
开发者ID:GraphicsEmpire,项目名称:raytracer,代码行数:27,代码来源:directory.cpp

示例3: while

bool IniFile::readIntArrayU32(const AnsiStr& section, const AnsiStr& variable, int ctExpected, std::vector<U32>& arrayInt)
{
    AnsiStr strVal;
    if(readValue(section, variable, strVal))
    {
        int pos;
        int iComp = 0;
        AnsiStr strTemp;
        if(strVal.firstChar() == '(')
            strVal = strVal.substr(1);
        else
            return false;
        while(strVal.lfind(',', pos))
        {
            strTemp = strVal.substr(0, pos);
            strVal = strVal.substr(pos + 1);
            strVal.removeStartEndSpaces();
            arrayInt.push_back(atoi(strTemp.ptr()));
            iComp++;
        }

        if(strVal.length() >= 1)
        {
            if(strVal.lastChar() == ')')
            {
                strTemp = strVal.substr(0, strVal.length() - 1);
                strTemp.removeStartEndSpaces();
                if(strTemp.length() > 0)
                    arrayInt.push_back(atoi(strTemp.ptr()));
            }
        }
    }
    return ((int)arrayInt.size() == ctExpected);
}
开发者ID:GraphicsEmpire,项目名称:tetcutter,代码行数:34,代码来源:inifile.cpp

示例4: hasSection

//====================================================================================
int IniFile::hasSection(const AnsiStr& strSection)
{
    AnsiStr str;
    for(int i=0; i < (int)m_content.size(); i++)
    {
        str = m_content[i];
        char ch = str.firstChar();
        ch = str.lastChar();

        if((str.firstChar() == '[')&&(str.lastChar() == ']'))
        {
            //[ + ] =  2
            str = str.substr(1, str.length() - 2);
            AnsiStr strSecUpperCased = strSection;
            strSecUpperCased.toUpper();
            if(str.toUpper() == strSecUpperCased)
                return i;
        }
    }

    return -1;
}
开发者ID:GraphicsEmpire,项目名称:tetcutter,代码行数:23,代码来源:inifile.cpp

示例5: readLine

//====================================================================================
bool IniFile::readLine(const AnsiStr& section, const AnsiStr& variable, AnsiStr& strLine)
{
    int startPos = hasSection(section);
    if(startPos < 0) return false;

    //Record file pos
    for(int i=startPos+1; i < (int)m_content.size(); i++)
    {
        strLine = m_content[i];

        //If it is a comment then ignore
        if(strLine.firstChar() == '#')
            continue;


        //Is section?
        if((strLine.firstChar() == L'[')&&(strLine.lastChar() == L']'))
        {
            return false;
        }
        else
        {
            for(int iChar=0; iChar < strLine.length(); iChar++)
            {
                if(strLine[iChar] == L'=')
                {
                    AnsiStr str = strLine.substr(0, iChar);
                    AnsiStr varUpperCased = variable;
                    varUpperCased.toUpper();
                    if( str.toUpper() == varUpperCased )
                    {
                        return true;
                    }
                    else
                        break;
                }
            }
        }

    }

    return false;
}
开发者ID:GraphicsEmpire,项目名称:tetcutter,代码行数:44,代码来源:inifile.cpp


注:本文中的AnsiStr::lastChar方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。