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


C++ Writer::Close方法代码示例

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


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

示例1: toFile

bool WorldCustom::toFile()
{
	cout << "To file: " << file << endl;
	resetError();
	Writer* writer = new Writer(file.c_str());
	if (writer && writer->Open())
	{
		try
		{
			writer->writeMultipleFormats("[Continents=%u]\n", continentsVector->size());
			for (int i = 0; i < continentsVector->size(); i++)
				writer->writeMultipleFormats("%n=%u,%u\n", continentsVector->at(i)->getName(), continentsVector->at(i)->getRegistryValue(), continentsVector->at(i)->getControlValue());
			//cout << countriesVector->at(0)->getName();
			//cout << continentsVector->at(0)->getName();
			writer->writeMultipleFormats("[Territories=%u]\n", countriesVector->size());
			for (int i = 0; i < countriesVector->size(); i++)
				writer->writeMultipleFormats("%n=%u\n", countriesVector->at(i)->getName().c_str(), countriesVector->at(i)->getRegistryValue());
			writer->writeMultipleFormats("[Links=%u]\n", numberOfLinks);
			for (int i = 0, j = 0; i < (int)countriesVector->size(); i++)
			{
				writer->writeMultipleFormats("%u,%u,%u,%u,", countriesVector->at(i)->getRegistryValue(), countriesVector->at(i)->getPositionX(), countriesVector->at(i)->getPositionY(), countriesVector->at(i)->getContinent()->getRegistryValue());
				for (j = 0; j < (int)countriesVector->at(i)->getConnectedCountries()->size(); j++)
				{
					writer->writeNextPosSignedINT32(countriesVector->at(i)->getConnectedCountries()->at(j)->getRegistryValue());
					if (j == countriesVector->at(i)->getConnectedCountries()->size() - 1)
						writer->writeNextByte('\n');
					else
						writer->writeNextByte(',');
				}
			}
			writer->writeNextByte('\n');
		}
		//The data sent to the writer was corrupted.
		catch (DataNotGood dng) {
			setError(dng.what());
			return false;
		}
		//File does not respond.
		catch (fileNotGood fng) {
			setError(fng.what());
			return false;
		}
		//Close the file whatever happened not to loose data.
		writer->Close();

		return true;
	}
	else
		setError("Could not open the output file.");
	return false;
}
开发者ID:Netopya,项目名称:COMP-345-Project,代码行数:51,代码来源:WorldCustom.cpp

示例2: toFile

/*
	* Reversed operation of what happened within analyseFile().
	* Please see analyseFile() for more information.
	*/
bool World::toFile(const char* _outputFile)
{
	lastOperationSuccess = false;
	Writer* writer = new Writer(_outputFile);
	if (writer && writer->Open())
	{
		try
		{
			writer->writeMultipleFormats("[Continents=%u]\n", continentsVector->size());
			for (int i = 0; i < continentsVector->size(); i++)
				writer->writeMultipleFormats("%n=%u\n", continentsVector->at(i)->getName(), continentsVector->at(i)->getRegistryValue());
			writer->writeMultipleFormats("[Territories=%u]\n", countriesVector->size());
			for (int i = 0; i < countriesVector->size(); i++)
				writer->writeMultipleFormats("%n=%u\n", countriesVector->at(i)->getName(), countriesVector->at(i)->getRegistryValue());
			writer->writeMultipleFormats("[Links=%u]\n", numberOfLinks);
			for (int i = 0, j = 0; i < countriesVector->size(); i++)
			{
				writer->writeMultipleFormats("%u,%u,%u,%u,", countriesVector->at(i)->getRegistryValue(), countriesVector->at(i)->getPositionX(), countriesVector->at(i)->getPositionY(), countriesVector->at(i)->getContinent()->getRegistryValue());
				for (j = 0; j < countriesVector->at(i)->getConnectedCountries()->size(); j++)
				{
					writer->writeNextPosSignedINT32(countriesVector->at(i)->getConnectedCountries()->at(j)->getRegistryValue());
					if (j == countriesVector->at(i)->getConnectedCountries()->size() - 1)
						writer->writeNextByte('\n');
					else
						writer->writeNextByte(',');
				}
			}
			writer->writeNextByte('\n');
		}
		//The data sent to the writer was corrupted.
		catch (DataNotGood dng) {
			lastErrorMessage = dng.what();
			return false;
		}
		//File does not respond.
		catch (fileNotGood fng) {
			lastErrorMessage = fng.what();
			return false;
		}
		//Close the file whatever happened not to loose data.
		writer->Close();

		lastOperationSuccess = true;
		return true;
	}
	else
		lastErrorMessage = "Could not open the output file.";
	return false;
}
开发者ID:Netopya,项目名称:COMP-345-Project,代码行数:53,代码来源:World.cpp


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