append param "append_zero" in filesystem::LoadFileToMemory

This commit is contained in:
2020-04-08 18:08:18 +08:00
parent 0e8a4a6d24
commit 0cdc519ee6
2 changed files with 7 additions and 3 deletions

View File

@@ -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 &); ///<保存多块内存成一个文件

View File

@@ -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);
} }