append param "append_zero" in filesystem::LoadFileToMemory
This commit is contained in:
@@ -163,7 +163,7 @@ namespace hgl
|
|||||||
bool FileCanWrite(const OSString &); ///<检测文件是否可写
|
bool FileCanWrite(const OSString &); ///<检测文件是否可写
|
||||||
bool FileCanExec(const OSString &); ///<检测文件是否可执行
|
bool FileCanExec(const OSString &); ///<检测文件是否可执行
|
||||||
|
|
||||||
int64 LoadFileToMemory(const OSString &,void **); ///<加载一个文件到内存
|
int64 LoadFileToMemory(const OSString &,void **,bool append_zero=false); ///<加载一个文件到内存
|
||||||
int64 SaveMemoryToFile(const OSString &,const void *,const int64 &); ///<保存一块内存成文件
|
int64 SaveMemoryToFile(const OSString &,const void *,const int64 &); ///<保存一块内存成文件
|
||||||
int64 SaveMemoryToFile(const OSString &,void **,const int64 *,const int &); ///<保存多块内存成一个文件
|
int64 SaveMemoryToFile(const OSString &,void **,const int64 *,const int &); ///<保存多块内存成一个文件
|
||||||
|
|
||||||
|
@@ -71,7 +71,7 @@ namespace hgl
|
|||||||
* @param buf 用来保存数据的内存指针的指针
|
* @param buf 用来保存数据的内存指针的指针
|
||||||
* @return 文件长度
|
* @return 文件长度
|
||||||
*/
|
*/
|
||||||
int64 LoadFileToMemory(const OSString &filename,void **buf)
|
int64 LoadFileToMemory(const OSString &filename,void **buf,bool append_zero)
|
||||||
{
|
{
|
||||||
io::FileInputStream fs;
|
io::FileInputStream fs;
|
||||||
|
|
||||||
@@ -80,11 +80,15 @@ namespace hgl
|
|||||||
|
|
||||||
const int64 size=fs.GetSize();
|
const int64 size=fs.GetSize();
|
||||||
|
|
||||||
char *fb=new char[size];
|
char *fb=new char[append_zero?size+1:size];
|
||||||
|
|
||||||
if(fs.Read(fb,size)==size)
|
if(fs.Read(fb,size)==size)
|
||||||
{
|
{
|
||||||
*buf=fb;
|
*buf=fb;
|
||||||
|
|
||||||
|
if(append_zero)
|
||||||
|
fb[size]=0;
|
||||||
|
|
||||||
return(size);
|
return(size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user