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


C++ xr_string类代码示例

本文整理汇总了C++中xr_string的典型用法代码示例。如果您正苦于以下问题:C++ xr_string类的具体用法?C++ xr_string怎么用?C++ xr_string使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: strstr

void strreplaceall						(xr_string &str, LPCSTR S, LPCSTR N)
{
	LPCSTR	A;
	int		S_len = xr_strlen(S);
	while ((A = strstr(str.c_str(),S)) != 0)
		str.replace(A - str.c_str(),S_len,N);
}
开发者ID:OLR-xray,项目名称:OLR-3.0,代码行数:7,代码来源:script_engine_help.cpp

示例2: _load_

void TDB_packer::_load_(const xr_string& fname)
{
    	lbIncludeFolders->Items->Clear		();
    	lbIncludeFiles->Items->Clear		();

     	CInifile ini						(fname.c_str());

        if(ini.section_exist("include_folders"))
        {
           CInifile::Sect S 		= ini.r_section("include_folders");
           CInifile::SectCIt it 		= S.Data.begin();
           CInifile::SectCIt it_e 	= S.Data.end();
           for( ;it!=it_e; ++it)
           {
           		WideString 					ws;
                ws 							= (*it).first.c_str();
               lbIncludeFolders->Items->Add	(ws);
           }
        }
        if(ini.section_exist("include_files"))
        {
           CInifile::Sect S 		= ini.r_section("include_files");
           CInifile::SectCIt it 	= S.Data.begin();
           CInifile::SectCIt it_e 	= S.Data.end();
           for( ;it!=it_e; ++it)
           {
           		WideString 					ws;
                ws 							= (*it).first.c_str();
               lbIncludeFiles->Items->Add	(ws);
           }
        }
        Caption	=	fname.c_str();
}
开发者ID:NeoAnomaly,项目名称:xray,代码行数:33,代码来源:FrmDBXpacker.cpp

示例3: _CopyVal

LPCSTR _CopyVal(LPCSTR src, xr_string& dst, char separator)
{
    LPCSTR p;
    ptrdiff_t n;
    p = strchr(src, separator);
    n = (p > 0) ? (p - src) : xr_strlen(src);
    dst = src;
    dst = dst.erase(n, dst.length());
    return dst.c_str();
}
开发者ID:BubbaXXX,项目名称:xray-16,代码行数:10,代码来源:xr_trims.cpp

示例4: LoadMapInfo

void CMapListHelper::LoadMapInfo(LPCSTR map_cfg_fn, const xr_string& map_name, LPCSTR map_ver)
{
	CInifile	ini				(map_cfg_fn);

	shared_str _map_name		= map_name.substr(0,map_name.find('\\')).c_str();
	shared_str _map_ver			= map_ver;

	if(ini.section_exist("map_usage"))
	{
		if(ini.line_exist("map_usage","ver") && !map_ver)
			_map_ver				= ini.r_string("map_usage", "ver");

		CInifile::Sect S			= ini.r_section("map_usage");
		CInifile::SectCIt si		= S.Data.begin();
		CInifile::SectCIt si_e		= S.Data.end();
		for( ;si!=si_e; ++si)
		{
			const shared_str& game_type = (*si).first;
			
			if(game_type=="ver")		continue;

			SGameTypeMaps* M			= GetMapListInt(game_type);
			if(!M)
			{
				Msg						("--unknown game type-%s",game_type.c_str());
				m_storage.resize		(m_storage.size()+1);
				SGameTypeMaps&	Itm		= m_storage.back();
				Itm.m_game_type_name	= game_type;
				Itm.m_game_type_id		= ParseStringToGameType(game_type.c_str());
				M						= &m_storage.back();
			}
			
			SGameTypeMaps::SMapItm	Itm;
			Itm.map_name				= _map_name;
			Itm.map_ver					= _map_ver;
			
			if(M->m_map_names.end()!=std::find(M->m_map_names.begin(),M->m_map_names.end(),Itm))
			{
				Msg("! duplicate map found [%s] [%s]", _map_name.c_str(), _map_ver.c_str());
			}else
			{
#ifndef MASTER_GOLD
				Msg("added map [%s] [%s]", _map_name.c_str(), _map_ver.c_str());
#endif // #ifndef MASTER_GOLD
				M->m_map_names.push_back	(Itm);
			}
		}			
	}

}
开发者ID:BeaconDev,项目名称:xray-16,代码行数:50,代码来源:UIGameCustom.cpp

示例5: R_ASSERT2

// %c[255,255,255,255]
u32 CUILines::GetColorFromText(const xr_string& str)const {
//	typedef xr_string::size_type size;

    StrSize begin, end, comma1_pos, comma2_pos, comma3_pos;

    begin = str.find(BEGIN);
    end = str.find(END, begin);
    R_ASSERT2(npos != begin, "CUISubLine::GetColorFromText -- can't find beginning tag %c[");
    R_ASSERT2(npos != end, "CUISubLine::GetColorFromText -- can't find ending tag ]");

    // try default color
    if (npos != str.find("%c[default]", begin, end - begin))
        return m_dwTextColor;

    // Try predefined in XML colors
//	CUIXmlInit xml;
    for (CUIXmlInit::ColorDefs::const_iterator it = CUIXmlInit::GetColorDefs()->begin(); it != CUIXmlInit::GetColorDefs()->end(); ++it)
    {
        int cmp = str.compare(begin+3, end-begin-3, *it->first);
        if (cmp == 0)
            return it->second;
    }

    // try parse values separated by commas
    comma1_pos = str.find(",", begin);
    comma2_pos = str.find(",", comma1_pos + 1);
    comma3_pos = str.find(",", comma2_pos + 1);

    R_ASSERT2(npos != comma1_pos, "CUISubLine::GetColorFromText -- can't find first comma");
    R_ASSERT2(npos != comma2_pos, "CUISubLine::GetColorFromText -- can't find second comma");
    R_ASSERT2(npos != comma3_pos, "CUISubLine::GetColorFromText -- can't find third comma");


    u32 a, r, g, b;
    xr_string single_color;

    begin+=3;

    single_color = str.substr(begin, comma1_pos - 1);
    a = atoi(single_color.c_str());
    single_color = str.substr(comma1_pos + 1, comma2_pos - 1);
    r = atoi(single_color.c_str());
    single_color = str.substr(comma2_pos + 1, comma3_pos - 1);
    g = atoi(single_color.c_str());
    single_color = str.substr(comma3_pos + 1, end - 1);
    b = atoi(single_color.c_str());

    return color_argb(a,r,g,b);
}
开发者ID:OLR-xray,项目名称:OLR-3.0,代码行数:50,代码来源:UILines.cpp

示例6: AppendFolderToName

xr_string	EFS_Utils::AppendFolderToName(xr_string& tex_name, int depth, BOOL full_name)
{
	string1024 nm;
	xr_strcpy(nm,tex_name.c_str());
	tex_name = AppendFolderToName(nm,sizeof(nm),depth,full_name);
	return tex_name;
}
开发者ID:AntonioModer,项目名称:xray-16,代码行数:7,代码来源:FileSystem_borland.cpp

示例7: GetOpenName

bool EFS_Utils::GetOpenName(LPCSTR initial, xr_string& buffer, bool bMulti, LPCSTR offset, int start_flt_ext )
{
	char			buf	[255*255]; //max files to select
	xr_strcpy			(buf, buffer.c_str());

/*
char* g_SHBF_Folder =("C:\\Program Files");
TCHAR path[_MAX_PATH];
BROWSEINFO info={NULL,NULL,path,"title",BIF_USENEWUI,BrowseCallbackProc, (LPARAM)g_SHBF_Folder };
SHBrowseForFolder       (&info);
*/
/*
	{
		HANDLE hDialog = OSDInit(true, "SDITEST", 0, 0, 0, 0, 0, 0);
		if(hDialog)
		{
			OSDRET osResult=OSDDoModal(hDialog, 0);
			OSDRelease(hDialog);
		}

	}
*/
//	bool bRes = false;
	bool bRes		= GetOpenNameInternal(initial, buf, sizeof(buf), bMulti, offset, start_flt_ext);

	if (bRes)
		buffer=(char*)buf;

	return bRes;
}
开发者ID:AntonioModer,项目名称:xray-16,代码行数:30,代码来源:FileSystem_borland.cpp

示例8: GetBriefInfo

void CWeaponMagazined::GetBriefInfo(xr_string& str_name, xr_string& icon_sect_name, xr_string& str_count)
{
	int	AE = GetAmmoElapsed();
	int	AC = GetAmmoCurrent();

	if (AE == 0 || 0 == m_magazine.size())
		icon_sect_name = *m_ammoTypes[m_ammoType];
	else
		icon_sect_name = *m_ammoTypes[m_magazine.back().m_LocalAmmoType];

	string256		sItemName;
	strcpy_s(sItemName, *CStringTable().translate(pSettings->r_string(icon_sect_name.c_str(), "inv_name_short")));

	if (HasFireModes())
		strcat_s(sItemName, GetCurrentFireModeStr());

	str_name = sItemName;

	{
		if (!unlimited_ammo())
			sprintf_s(sItemName, "%d/%d", AE, AC - AE);
		else
			sprintf_s(sItemName, "%d/--", AE);

		str_count = sItemName;
	}
}
开发者ID:Karlan88,项目名称:xray,代码行数:27,代码来源:WeaponMagazined.cpp

示例9: GetSaveName

bool EFS_Utils::GetSaveName( LPCSTR initial, xr_string& buffer, LPCSTR offset, int start_flt_ext )
{
	string4096 buf;
	strcpy(buf,buffer.c_str());
	bool bRes = GetSaveName(initial,buf,sizeof(buf),offset,start_flt_ext);
	if (bRes) buffer=buf;
	return bRes;
}
开发者ID:OLR-xray,项目名称:XRay-NEW,代码行数:8,代码来源:FileSystem_borland.cpp

示例10: CNameAfterEdit

bool CPropHelper::CNameAfterEdit(PropValue* sender, xr_string& edit_val)
{
	CTextValue* V	= dynamic_cast<CTextValue*>(sender); VERIFY(V);
    ListItem* L		= (ListItem*)sender->tag;
    shared_str tmp	= edit_val.c_str();
	bool accepted	= LHelper().NameAfterEdit(L,V->GetValue(),tmp);
    edit_val		= tmp.c_str();
    return 			accepted;
}
开发者ID:2asoft,项目名称:xray,代码行数:9,代码来源:PropertiesListHelper.cpp

示例11: _GetItem

LPCSTR _GetItem(LPCSTR src, int index, xr_string& dst, char separator, LPCSTR def, bool trim)
{
    LPCSTR ptr;
    ptr = _SetPos(src, index, separator);
    if (ptr) _CopyVal(ptr, dst, separator);
    else dst = def;
    if (trim) _Trim(dst);
    return dst.c_str();
}
开发者ID:BubbaXXX,项目名称:xray-16,代码行数:9,代码来源:xr_trims.cpp

示例12: GetOpenName

bool EFS_Utils::GetOpenName(LPCSTR initial, xr_string& buffer, bool bMulti, LPCSTR offset, int start_flt_ext )
{
	string_path		buf;
	strcpy			(buf,buffer.c_str());
	bool bRes		= GetOpenName(initial,buf,sizeof(buf),bMulti,offset,start_flt_ext);

	if (bRes) 
		buffer=(char*)buf;

	return bRes;
}
开发者ID:OLR-xray,项目名称:OLR-3.0,代码行数:11,代码来源:FileSystem_borland.cpp

示例13: add_debug_info_restrictions

void   add_debug_info_restrictions (debug::text_tree& root_s, const xr_string& restr)
{
	size_t cur_i = 0;

	do 
	{
		size_t pos = restr.find(',', cur_i);
		if ( pos == xr_string::npos )
		{
			pos = restr.size()-1;
		}

		if ( cur_i > pos )
		{
			

			root_s.add_line(restr.substr(cur_i, pos-cur_i));
		}
		cur_i = pos + 1;

	} while ( cur_i < restr.size() );
}
开发者ID:2asoft,项目名称:xray,代码行数:22,代码来源:base_monster_debug.cpp

示例14: ChangeFileExt

xr_string EFS_Utils::ChangeFileExt(const xr_string& src, LPCSTR ext)
{
    return ChangeFileExt(src.c_str(), ext);
}
开发者ID:Frankie-666,项目名称:xray-16,代码行数:4,代码来源:FileSystem.cpp

示例15: if

void CUILines::CutFirstColoredTextEntry(xr_string& entry, u32& color, xr_string& text) const {
    entry.clear();

    StrSize begin	= text.find(BEGIN);
    StrSize end	= text.find(END, begin);
    if (xr_string::npos == end)
        begin = end;
    StrSize begin2	= text.find(BEGIN, end);
    StrSize end2	= text.find(END,begin2);
    if (xr_string::npos == end2)
        begin2 = end2;

    // if we do not have any color entry or it is single with 0 position
    if (xr_string::npos == begin)
    {
        entry = text;
        color = m_dwTextColor;
        text.clear();
    }
    else if (0 == begin && xr_string::npos == begin2)
    {
        entry = text;
        color = GetColorFromText(entry);
        entry.replace(begin, end - begin + 1, "");
        text.clear();
    }
    // if we have color entry not at begin
    else if (0 != begin)
    {
        entry = text.substr(0, begin );
        color = m_dwTextColor;
        text.replace(0, begin, "");
    }
    // if we have two color entries. and first has 0 position
    else if (0 == begin && xr_string::npos != begin2)
    {
        entry = text.substr(0, begin2);
        color = GetColorFromText(entry);
        entry.replace(begin, end - begin + 1, "");
        text.replace(0, begin2, "");
    }
}
开发者ID:OLR-xray,项目名称:OLR-3.0,代码行数:42,代码来源:UILines.cpp


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