コード例 #1
0
ファイル: MFString.cpp プロジェクト: TurkeyMan/fuji
MFString MFString::GetExtension() const
{
	int dot = FindCharReverse('.');
	if(dot > FindCharReverse('/') && dot > FindCharReverse('\\'))
		return SubStr(dot);
	return MFString();
}
コード例 #2
0
ファイル: MFString.cpp プロジェクト: TurkeyMan/fuji
MFString operator+(const char *pString, const MFString &string)
{
	if(string.IsEmpty())
		return MFString(pString);

	if(!pString || *pString == 0)
		return string;

	return MFString::Static(pString) + string;
}
コード例 #3
0
ファイル: MFString.cpp プロジェクト: TurkeyMan/fuji
MFArray<MFString>& MFString::Split(MFArray<MFString> &output, const char *pDelimiters)
{
	output.clear();

	if(!pData)
		return output;

	const char *pText = pData->pMemory;
	while(*pText)
	{
		const char *pEnd = MFSeekDelimiter(pText, pDelimiters);
		output.push(MFString(pText, (size_t)(pEnd - pText)));
		pText = MFSkipDelimiters(pEnd, pDelimiters);
	}

	return output;
}
コード例 #4
0
ファイル: MFString.cpp プロジェクト: TurkeyMan/fuji
MFString MFString::operator+(const char *pString) const
{
	if(!pString || *pString == 0)
		return *this;

	if(IsEmpty())
		return MFString(pString);

	size_t bytes = pData->bytes + MFString_Length(pString);

	MFString t;
    t.Reserve(bytes + 1);
	MFString_CopyCat(t.pData->pMemory, pData->pMemory, pString);
	t.pData->bytes = bytes;

	return t;
}
コード例 #5
0
ファイル: main.cpp プロジェクト: FujiGameJam/fuji
void Scan(MFString path)
{
	MFFindData fd;
	MFFind *pFind = MFFileSystem_FindFirst(MFStr("%s*", path.CStr()), &fd);
	if(pFind)
	{
		do
		{
			if(fd.attributes & MFFA_Directory)
			{
				Scan(MFString::Format("%s%s/", path.CStr(), fd.pFilename).CStr());
			}
			else
			{
				MFString ext = MFString(fd.pFilename).GetExtension();
				if(ext.Enumerate(ppFormats, sizeof(ppFormats) / sizeof(ppFormats[0])) > -1)
					models.push(MFString::Format("%s%s", path.CStr(), fd.pFilename));
			}
		}
		while(MFFileSystem_FindNext(pFind, &fd));

		MFFileSystem_FindClose(pFind);
	}
}