コード例 #1
0
ファイル: DataTree.cpp プロジェクト: bsy6766/SimpleDataTree
DataTree* DataTree::create(const std::string& fileName)
{
	if (fileName.empty())
	{
		return nullptr;
	}

	std::string fileData = std::string();
	std::ifstream file(fileName);

	if (file.is_open())
	{
		// Simply using while loop and getline to read file instead of using file size method because file size wasn't correct.
		std::string line;
		while (std::getline(file, line))
		{
			fileData += (line + "\n");
		}
	}

	if (fileData.empty() || fileData.size() <= 0)
	{
		//Data is empty or size is 0. 
		return nullptr;
	}

	DataTree* data = new DataTree("ROOT_KEY", "ROOT_VALUE");
	bool result = data->parse(fileData);

	if (result == false)
	{
		//Failed to parse
		delete data;
		return nullptr;
	}

	return data;
}