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


C++ DynamicArray::dataptr方法代码示例

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


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

示例1: write

bool EagleeyeIO::write(const DynamicArray<T>& arr,std::string id,std::string file_path,EagleeyeIOMode iomode)
{
	switch(iomode)
	{
	case WRITE_BINARY_MODE:
		{
			std::ofstream binary_file(file_path.c_str(),std::ios::binary);

			if (!binary_file)
			{
				return false;
			}
			else
			{
				//write id
				int str_len=id.length();
				binary_file.write((char*)(&str_len),sizeof(int));
				binary_file.write(id.c_str(),sizeof(char)*str_len);

				//write array data
				int arr_size=arr.size();
				binary_file.write((char*)(&arr_size),sizeof(int));
				binary_file.write((char*)arr.dataptr(),sizeof(T)*arr_size);

				binary_file.close();

				return true;
			}

		}
	case WRITE_ASCII_MODE:
		{
			std::locale::global( std::locale( "",std::locale::all^std::locale::numeric ) );
			std::ofstream asc_file(file_path.c_str());

			if (asc_file)
			{
				asc_file<<id<<'\n';
				asc_file<<arr;
				
				asc_file.close();
				return true;
			}
			return false;
		}
	default:
		{
			return false;
		}
	}

	return false;
}
开发者ID:zjeagleeye,项目名称:eagleeye,代码行数:53,代码来源:EagleeyeIO.hpp

示例2: read

bool EagleeyeIO::read(DynamicArray<T>& arr,std::string& id,std::string file_path,EagleeyeIOMode iomode)
{
	switch(iomode)
	{
	case READ_BINARY_MODE:
		{
			std::ifstream binary_file(file_path.c_str(),std::ios::binary);

			if (!binary_file)
			{
				return false;
			}
			else
			{
				//write id						
				int str_len;
				binary_file.read((char*)(&str_len),sizeof(int));
				char* id_data=new char[str_len];
				binary_file.read(id_data,sizeof(char)*str_len);

				id=std::string(id_data);
				delete[] id_data;

				//write array data
				int arr_size=arr.size();				
				binary_file.read((char*)(&arr_size),sizeof(int));
				arr=DynamicArray(arr_size);
				binary_file.read((char*)(arr.dataptr()),sizeof(T)*arr_size);

				binary_file.close();

				return true;
			}

		}
	case READ_ASCII_MODE:
		{
			std::locale::global( std::locale( "",std::locale::all^std::locale::numeric ) );
			std::ifstream ascii_file(file_path.c_str());
			file_path>>id;
			file_path>>arr;
			ascii_file.close();
			return false;
		}
	default:
		{
			return false;
		}
	}

	return false;
}
开发者ID:zjeagleeye,项目名称:eagleeye,代码行数:52,代码来源:EagleeyeIO.hpp


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