반응형
bool Config::IsExistSection(TCHAR* sectionName)
{
	TCHAR buff[4096] = { 0x20, };
	TCHAR sect[512] = { 0x00, };
	DWORD n = ::GetPrivateProfileSectionNames(buff, 4096, configFilePath);
	int pos = 0;
	BOOL bMakedSect = FALSE; // 하나의 섹션을 구성완료하면 TRUE하여 pos를 0으로 초기화

	for (int i = 0; i < n; i++, pos++)
	{
		if (buff[i] != '\0')
		{
			if (bMakedSect) pos = 0;
			memcpy(sect + pos, buff + i, 1);
			bMakedSect = FALSE;
			continue;
		}
		else
		{
			sect[i] = '\0';

			if (_tcscmp(sect, sectionName) == 0)
			{
				return true;
			}

			memset(sect, 0x00, sizeof(sect));
			bMakedSect = TRUE;
		}
	}

	return false;
}
반응형

+ Recent posts