这篇教程C++ GetFileLength函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetFileLength函数的典型用法代码示例。如果您正苦于以下问题:C++ GetFileLength函数的具体用法?C++ GetFileLength怎么用?C++ GetFileLength使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetFileLength函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: init_pathstatic void init_path(char *argv0, char *path_specified){//===================================================== if(path_specified) { sprintf(path_home,"%s/espeak-data",path_specified); return; }#ifdef PLATFORM_WINDOWS HKEY RegKey; unsigned long size; unsigned long var_type; char *p; char *env; unsigned char buf[sizeof(path_home)-12]; if(((env = getenv("ESPEAK_DATA_PATH")) != NULL) && ((strlen(env)+12) < sizeof(path_home))) { sprintf(path_home,"%s//espeak-data",env); if(GetFileLength(path_home) == -2) return; // an espeak-data directory exists in the directory specified by environment variable } strcpy(path_home,argv0); if((p = strrchr(path_home,'//')) != NULL) { strcpy(&p[1],"espeak-data"); if(GetFileLength(path_home) == -2) return; // an espeak-data directory exists in the same directory as the espeak program } // otherwise, look in the Windows Registry buf[0] = 0; RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software//Microsoft//Speech//Voices//Tokens//eSpeak", 0, KEY_READ, &RegKey); size = sizeof(buf); var_type = REG_SZ; RegQueryValueEx(RegKey, "path", 0, &var_type, buf, &size); sprintf(path_home,"%s//espeak-data",buf);#else#ifdef PLATFORM_DOS strcpy(path_home,PATH_ESPEAK_DATA);#else char *env; if((env = getenv("ESPEAK_DATA_PATH")) != NULL) { snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); if(GetFileLength(path_home) == -2) return; // an espeak-data directory exists } snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); if(access(path_home,R_OK) != 0) { strcpy(path_home,PATH_ESPEAK_DATA); }#endif#endif}
开发者ID:MobileAppCodes,项目名称:espeak,代码行数:60,
示例2: init_pathstatic void init_path(const char *path){//====================================#ifdef PLATFORM_WINDOWS HKEY RegKey; unsigned long size; unsigned long var_type; char *env; unsigned char buf[sizeof(path_home)-13]; if(path != NULL) { sprintf(path_home,"%s/espeak-data",path); return; } if((env = getenv("ESPEAK_DATA_PATH")) != NULL) { sprintf(path_home,"%s/espeak-data",env); if(GetFileLength(path_home) == -2) return; // an espeak-data directory exists } #if defined (PATH_ESPEAK_DATA) sprintf(path_home,"%s/espeak-data",PATH_ESPEAK_DATA); if (GetFileLength(path_home) == -2) return; // espeak-data is a valid directory#endif buf[0] = 0; RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software//Microsoft//Speech//Voices//Tokens//eSpeak", 0, KEY_READ, &RegKey); size = sizeof(buf); var_type = REG_SZ; RegQueryValueExA(RegKey, "path", 0, &var_type, buf, &size); sprintf(path_home,"%s//espeak-data",buf);#else char *env; if(path != NULL) { snprintf(path_home,sizeof(path_home),"%s/espeak-data",path); return; } // check for environment variable if((env = getenv("ESPEAK_DATA_PATH")) != NULL) { snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); if(GetFileLength(path_home) == -2) return; // an espeak-data directory exists } snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); if(access(path_home,R_OK) != 0) { strcpy(path_home,PATH_ESPEAK_DATA); }#endif}
开发者ID:North2,项目名称:Oolite,代码行数:60,
示例3: check_data_pathstatic int check_data_path(const char *path, int allow_directory){ if (!path) return 0; snprintf(path_home, sizeof(path_home), "%s/espeak-ng-data", path); if (GetFileLength(path_home) == -EISDIR) return 1; if (!allow_directory) return 0; snprintf(path_home, sizeof(path_home), "%s", path); return GetFileLength(path_home) == -EISDIR;}
开发者ID:rhdunn,项目名称:espeak,代码行数:14,
示例4: filebool MD5Model::LoadModel( const std::string &filename ){ if ( !fs::exists(filename) ) { std::cerr << "MD5Model::LoadModel: Failed to find file: " << filename << std::endl; return false; } fs::path filePath = filename; // store the parent path used for loading images relative to this file. fs::path parent_path = filePath.parent_path(); std::string param; std::string junk; // Read junk from the file fs::ifstream file(filename); int fileLength = GetFileLength( file ); assert( fileLength > 0 ); m_Joints.clear(); m_Meshes.clear(); file >> param; while ( !file.eof() ) { if ( param == "MD5Version" ) { file >> m_iMD5Version; assert( m_iMD5Version == 10 ); } else if ( param == "commandline" )
开发者ID:rinrynque,项目名称:md5,代码行数:32,
示例5: MultiByteToWideCharstatic wad_file_t *W_Win32_OpenFile(char *path){ win32_wad_file_t *result; wchar_t wpath[MAX_PATH + 1]; HANDLE handle; // Open the file: MultiByteToWideChar(CP_OEMCP, 0, path, strlen(path) + 1, wpath, sizeof(wpath)); handle = CreateFileW(wpath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (handle == INVALID_HANDLE_VALUE) return NULL; // Create a new win32_wad_file_t to hold the file handle. result = Z_Malloc(sizeof(win32_wad_file_t), PU_STATIC, NULL); result->wad.file_class = &win32_wad_file; result->wad.length = GetFileLength(handle); result->handle = handle; // Try to map the file into memory with mmap: MapFile(result); return &result->wad;}
开发者ID:Manuel-K,项目名称:doomretro,代码行数:26,
示例6: ReadPhFilestatic espeak_ng_STATUS ReadPhFile(void **ptr, const char *fname, int *size, espeak_ng_ERROR_CONTEXT *context){ if (!ptr) return EINVAL; FILE *f_in; unsigned int length; char buf[sizeof(path_home)+40]; sprintf(buf, "%s%c%s", path_home, PATHSEP, fname); length = GetFileLength(buf); if ((f_in = fopen(buf, "rb")) == NULL) return create_file_error_context(context, errno, buf); if (*ptr != NULL) Free(*ptr); if ((*ptr = Alloc(length)) == NULL) { fclose(f_in); return ENOMEM; } if (fread(*ptr, 1, length, f_in) != length) { int error = errno; fclose(f_in); Free(*ptr); return create_file_error_context(context, error, buf); } fclose(f_in); if (size != NULL) *size = length; return ENS_OK;}
开发者ID:JamaicanUser,项目名称:espeak-ng,代码行数:33,
示例7: openstatic wad_file_t *W_POSIX_OpenFile(char *path){ posix_wad_file_t *result; int handle; handle = open(path, 0); if (handle < 0) { return NULL; } // Create a new posix_wad_file_t to hold the file handle. result = Z_Malloc(sizeof(posix_wad_file_t), PU_STATIC, 0); result->wad.file_class = &posix_wad_file; result->wad.length = GetFileLength(handle); result->handle = handle; // Try to map the file into memory with mmap: MapFile(result, path); return &result->wad;}
开发者ID:Clever-Boy,项目名称:chocolate-doom,代码行数:25,
示例8: LoadShaderSourceint LoadShaderSource(const char* filename, GLchar** source, unsigned long* len){ FILE *file; unsigned int i=0; GLchar *txt; unsigned long size; file = fopen(filename, "rb"); // opens as Binary if(!file) return -1; *len = GetFileLength(file); fclose(file); if(*len <= 0) return -2; size = *len; file = fopen(filename, "r"); //Opens as ASCII *source = (GLchar*)malloc(sizeof(GLchar)*(*len)); txt = *source; if (*source == 0) return -3; // can't reserve memory // len isn't always strlen cause some characters are stripped in ascii read... // it is important to 0-terminate the real length later, len is just max possible value... txt[size-1] = 0; while ((txt[i] = fgetc(file)) != EOF) i++; txt[i] = 0; // 0-terminate it at the correct position fclose(file); return 0; // No Error}
开发者ID:superkehoed,项目名称:midterm,代码行数:33,
示例9: LoadTextFileToExistingBuffer///---------------------------------------------------------------------------------//////---------------------------------------------------------------------------------bool LoadTextFileToExistingBuffer( const std::string& filePath, char* existingBuffer, const size_t& existingBufferSize ){ FILE* file; fopen_s( &file, filePath.c_str(), "rb" ); if (!file) { // freak out return false; } size_t numBytes = GetFileLength( file ); if (numBytes > existingBufferSize) return false; size_t numberOfElementsRead = fread( existingBuffer, sizeof( char ), existingBufferSize - 1, file ); fclose( file ); existingBuffer[numberOfElementsRead] = '/0'; // buffer is bigger than data read if (numberOfElementsRead < numBytes) return false; return true;}
开发者ID:tbgeorge,项目名称:putty_engine,代码行数:31,
示例10: CreateHostRunDirvoid Ide::BuildAndDebug0(const String& srcfile){ if(Build()) { One<Host> h = CreateHostRunDir(); h->ChDir(GetFileFolder(target)); VectorMap<String, String> bm = GetMethodVars(method); String dbg = bm.Get("DEBUGGER", Null); if(IsNull(dbg)) { if(bm.Get("BUILDER", Null) == "MSC71") { String sln = ForceExt(target, ".sln"); if(GetFileLength(sln) > 0) h->Launch("devenv /"" + h->GetHostPath(sln) + "/" " // + "/"" + h->GetHostPath(srcfile) + "/"" //TRC, 2011/09/26: wrong devenv argument ); else h->Launch("devenv /"" + h->GetHostPath(target) //+ "/" /"" + h->GetHostPath(srcfile) //TRC, 2011/09/26: wrong devenv argument + "/" /debugexe " ); return; } dbg = "gdb"; } else h->Launch('/"' + dbg + "/" /""// + h->GetHostPath(srcfile) + ' ' + h->GetHostPath(target) + "/"", true); }}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:29,
示例11: LoadHZDataint LoadHZData(const TCHAR *hz_data_name){ int file_length; assert(hz_data_name); if (share_segment->hz_data_loaded) return 1; file_length = GetFileLength(hz_data_name); if (file_length <= 0) return 0; hz_data = AllocateSharedMemory(hz_data_share_name, file_length); if (!hz_data) return 0; if ((file_length = LoadFromFile(hz_data_name, hz_data, file_length)) == -1) { FreeSharedMemory(hz_data_share_name, hz_data); Log(LOG_ID, L"汉字信息表文件打开失败。name=%s", hz_data_name); return 0; } if (!file_length) return 0; share_segment->hz_data_loaded = 1; return 1;}
开发者ID:709889989,项目名称:unispim,代码行数:31,
示例12: mainint main(int argc, char **argv) { int i; for (i = 1; i < argc; i++) { size_t filesize = GetFileLength(argv[i]); FILE *stream = fopen(argv[i], "r"); unsigned char *text = NULL; if (stream == NULL) { perror(argv[i]); exit(EXIT_FAILURE); } text = (unsigned char *) malloc(filesize + 1); if (text == NULL) { espeak_ng_PrintStatusCodeMessage(ENOMEM, stderr, NULL); exit(EXIT_FAILURE); } fread(text, 1, filesize, stream); text[filesize] = 0; fclose(stream); LLVMFuzzerTestOneInput(text, filesize); free(text); } return EXIT_SUCCESS;}
开发者ID:rhdunn,项目名称:espeak,代码行数:28,
示例13: DisplayErrorFilevoid DisplayErrorFile(const char *fname){//===================================== int len; FILE *f; char *msg; wxString msg_string; len = GetFileLength(fname); if(len > 0) { if(len > 1500) len = 1500; // restrict length to prevent crash in wxLogMessage() msg = (char *)malloc(len+1); if(msg != NULL) { f = fopen(fname,"r"); len = fread(msg,1, len, f); fclose(f); msg[len] = 0; msg_string = wxString(msg,wxConvUTF8); wxLogMessage(msg_string); free(msg); } }} // end of DisplayErrorFile
开发者ID:ashengmz,项目名称:espeak,代码行数:25,
示例14: getFile FLAC__bool FLACInputStream::eof_callback( const FLAC__SeekableStreamDecoder* decoder, void* client_data) { File* file = getFile(client_data); return (file->tell() == GetFileLength(file)); }
开发者ID:AlternatingCt,项目名称:ethanon,代码行数:7,
示例15: GetFileLength// --------------// File position// --------------TFilePos::TFilePos(const KString& SFileName){ m_FileName = SFileName; m_szOffset = 0; m_szLength = GetFileLength(m_FileName); m_bPlainFile = true;}
开发者ID:tetratec,项目名称:runescape-classic-dump,代码行数:10,
示例16: ReadPhFilestatic int ReadPhFile(char **ptr, const char *fname){//================================================= FILE *f_in; char *p; unsigned int length; char buf[200]; sprintf(buf,"%s%c%s",path_home,PATHSEP,fname); length = GetFileLength(buf); if((f_in = fopen(buf,"rb")) == NULL) { fprintf(stderr,"Can't read data file: '%s'/n",buf); return(1); } if(*ptr != NULL) Free(*ptr); if((p = Alloc(length)) == NULL) { fclose(f_in); return(-1); } if(fread(p,1,length,f_in) != length) { fclose(f_in); return(-1); } *ptr = p; fclose(f_in); return(0);} // end of ReadPhFile
开发者ID:JKcompute,项目名称:395_midi_controller,代码行数:33,
示例17: GetFileLengthint TXTFAM::Cardinality(PGLOBAL g) { if (g) { int card = -1; int len = GetFileLength(g); if (len >= 0) { if (Padded && Blksize) { if (!(len % Blksize)) card = (len / Blksize) * Nrec; else sprintf(g->Message, MSG(NOT_FIXED_LEN), To_File, len, Lrecl); } else { if (!(len % Lrecl)) card = len / (int)Lrecl; // Fixed length file else sprintf(g->Message, MSG(NOT_FIXED_LEN), To_File, len, Lrecl); } // endif Padded if (trace) htrc(" Computed max_K=%d Filen=%d lrecl=%d/n", card, len, Lrecl); } else card = 0; // Set number of blocks for later use Block = (card > 0) ? (card + Nrec - 1) / Nrec : 0; return card; } else return 1; } // end of Cardinality
开发者ID:SunguckLee,项目名称:MariaDB,代码行数:35,
示例18: sprintfstatic char *ReadPhFile(void *ptr, const char *fname, int *size){//============================================================= FILE *f_in; char *p; unsigned int length; char buf[sizeof(path_home)+40]; sprintf(buf,"%s%c%s",path_home,PATHSEP,fname); length = GetFileLength(buf); if((f_in = fopen(buf,"rb")) == NULL) { fprintf(stderr,"Can't read data file: '%s'/n",buf); return(NULL); } if(ptr != NULL) Free(ptr); if((p = Alloc(length)) == NULL) { fclose(f_in); return(NULL); } if(fread(p,1,length,f_in) != length) { fclose(f_in); return(NULL); } fclose(f_in); if(size != NULL) *size = length; return(p);} // end of ReadPhFile
开发者ID:PaulBoersma,项目名称:praat,代码行数:35,
示例19: FinalizeDay//+------------------------------------------------------------------+//| Cut the file |//+------------------------------------------------------------------+void CLogger::Cut(void) { FILE *in,*out; char *buf,*cp,tmp[256]; int len;//---- закроем файл на всякий случай m_sync.Lock(); FinalizeDay();//---- откроем файл заново, проверим размер _snprintf(tmp,sizeof(tmp)-1,"%s.log",ExtProgramPath); if((in=fopen(tmp,"rb"))==NULL) { m_sync.Unlock(); return; } len=GetFileLength(in); if(len<300000) { fclose(in); m_sync.Unlock(); return; }//---- allocate 100 Kb for last messages and read them if((buf=(char*)malloc(102401))==NULL) { fclose(in); m_sync.Unlock(); return; } fseek(in,len-102400,SEEK_SET); fread(buf,102400,1,in); buf[102400]=0; fclose(in);//---- reopen log-file and write last messages if((out=fopen(tmp,"wb"))!=NULL) { if((cp=strstr(buf,"/n"))!=NULL) fwrite(cp+1,strlen(cp+1),1,out); fclose(out); } free(buf);//---- m_sync.Unlock(); }
开发者ID:dailypips,项目名称:TradeSharp,代码行数:31,
示例20: filebool MD5Animation::LoadAnimation( const std::string& filename ){ if ( !fs::exists(filename) ) { std::cerr << "MD5Animation::LoadAnimation: Failed to find file: " << filename << std::endl; return false; } fs::path filePath = filename; std::string param; std::string junk; // Read junk from the file fs::ifstream file(filename); int fileLength = GetFileLength( file ); assert( fileLength > 0 ); m_JointInfos.clear(); m_Bounds.clear(); m_BaseFrames.clear(); m_Frames.clear(); m_AnimatedSkeleton.m_Joints.clear(); m_iNumFrames = 0; file >> param; while( !file.eof() ) { if ( param == "MD5Version" ) { file >> m_iMD5Version; assert( m_iMD5Version == 10 ); } else if ( param == "commandline" )
开发者ID:rinrynque,项目名称:md5,代码行数:34,
示例21: SetVoiceScoresstatic int SetVoiceScores(espeak_VOICE *voice_select, espeak_VOICE **voices, int control){ // control: bit0=1 include mbrola voices int ix; int score; int nv; // number of candidates int n_parts = 0; int lang_len = 0; espeak_VOICE *vp; char language[80]; char buf[sizeof(path_home)+80]; // count number of parts in the specified language if ((voice_select->languages != NULL) && (voice_select->languages[0] != 0)) { n_parts = 1; lang_len = strlen(voice_select->languages); for (ix = 0; (ix <= lang_len) && ((unsigned)ix < sizeof(language)); ix++) { if ((language[ix] = tolower(voice_select->languages[ix])) == '-') n_parts++; } } if ((n_parts == 1) && (control & 1)) { if (strcmp(language, "mbrola") == 0) { language[2] = 0; // truncate to "mb" lang_len = 2; } sprintf(buf, "%s/voices/%s", path_home, language); if (GetFileLength(buf) == -2) { // A subdirectory name has been specified. List all the voices in that subdirectory language[lang_len++] = PATHSEP; language[lang_len] = 0; n_parts = -1; } } // select those voices which match the specified language nv = 0; for (ix = 0; ix < n_voices_list; ix++) { vp = voices_list[ix]; if (((control & 1) == 0) && (memcmp(vp->identifier, "mb/", 3) == 0)) continue; if ((score = ScoreVoice(voice_select, language, n_parts, lang_len, voices_list[ix])) > 0) { voices[nv++] = vp; vp->score = score; } } voices[nv] = NULL; // list terminator if (nv == 0) return 0; // sort the selected voices by their score qsort(voices, nv, sizeof(espeak_VOICE *), (int(__cdecl *)(const void *, const void *))VoiceScoreSorter); return nv;}
开发者ID:niedzielski,项目名称:espeak-ng,代码行数:60,
示例22: strcpyvoid CClientScriptTransfer::Send(SystemAddress systemAddress){ /*char file[128]; strcpy(file, "C://Users//JeNkStA//Desktop//jessicac.jpg");*/ m_pNetGame->GetRakServer()->GetRakPeer()->SetSplitMessageProgressInterval(9); m_pNetGame->GetRakServer()->GetRakPeer()->AttachPlugin(&m_fileListTransfer); m_fileListTransfer.SetCallback(this); char szPath[MAX_PATH]; StringList::iterator iter; for(iter = m_pClientScripts.begin(); iter != m_pClientScripts.end(); iter++) { sprintf(szPath, ".//clientscripts//%s", (char*)(*iter)); struct stat stFileInfo; if(stat(szPath, &stFileInfo) == 0) { unsigned int fileLength = GetFileLength(szPath); m_fileList.AddFile((*iter), szPath, 0, fileLength, fileLength, FileListNodeContext(0, 0), true); } else { LogPrintf("Warning: Clientscript %s does not exist.", (char*)(*iter)); } } m_fileListTransfer.Send(&m_fileList, m_pNetGame->GetRakServer()->GetRakPeer(), systemAddress, 0, HIGH_PRIORITY, 0, false, &m_incrementalReadInterface, 50000);}
开发者ID:AgresivD,项目名称:ivmultiplayer,代码行数:25,
示例23: FLAC__SeekableStreamDecoderLengthStatus FLACInputStream::length_callback( const FLAC__SeekableStreamDecoder* decoder, FLAC__uint64* stream_length, void* client_data) { *stream_length = GetFileLength(getFile(client_data)); return FLAC__SEEKABLE_STREAM_DECODER_LENGTH_STATUS_OK; }
开发者ID:AlternatingCt,项目名称:ethanon,代码行数:8,
示例24: LogOpenQuietlong LogOpenQuiet( char *filename, __int64 *filelen ){ char rawfileName[256]; long hnd = 0; DateFixFilename( filename, rawfileName ); // Check if we trying to open a shortcut if ( IsShortCut( rawfileName ) ){ char linkpath[256]; mystrcpy( linkpath, rawfileName );#if DEF_WINDOWS GetShortCut( linkpath, rawfileName );#endif } // Now see if the we want to open a short cut to a URL if ( IsURLShortCut( rawfileName ) ){ char linkpath[256]; mystrcpy( linkpath, rawfileName );#if DEF_WINDOWS GetURLShortCut( linkpath, rawfileName );#endif } // Check for a just a plain URL if ( IsURL( rawfileName ) ){ StatusSetID( IDS_REMOTELOG , strrchr( rawfileName,'/' ) ); hnd = (long)INetOpen( rawfileName, filelen ); return hnd; } // Check other types char format[100]; // determine if its PKZIP file and if so... dont open it, YET if ( IsFileInvalid( rawfileName, format ) ) return 0;#ifndef DEF_MAC if ( IsPKZIP( rawfileName ) ) hnd = (long)UnzipOpen( rawfileName, NULL ); else#ifdef _BZLIB_H if ( aIsBzFile( rawfileName ) ) // PLEASE DO THIS SOON FOR MAC.... at least for manual completeness, hey OSX people will love it. hnd = (long)BZ2_bzopen( rawfileName, "rb" ); else #endif#endif { hnd = (long)gzopen( rawfileName, "rb" ); } if ( filelen && hnd ) *filelen = GetFileLength( rawfileName ); return hnd;}
开发者ID:rauls,项目名称:iReporter,代码行数:57,
示例25: filenoi64 TFILEPtr::length() const {#ifdef _win32_ FHANDLE fd = (FHANDLE)_get_osfhandle(fileno(m_file));#else FHANDLE fd = fileno(m_file);#endif i64 rv = GetFileLength(fd); if (rv < 0) ythrow yexception() << "TFILEPtr::length() " << ~Name << ": " << LastSystemErrorText(); return rv;}
开发者ID:Frankie-666,项目名称:tomita-parser,代码行数:11,
示例26: OpenFileLux::Core::FileInfo* Lux::Core::FileHandler::LoadFileInMemory(const String a_Path){ FileInfo* retInfo = nullptr; OpenedFile* filePtr = OpenFile(a_Path, FILE_OPEN_READ); int64 fileSize = GetFileLength(filePtr); retInfo = new FileInfo((unsigned int)fileSize); LoadFileDataInto(filePtr, retInfo); CloseOpenedFile(filePtr); return retInfo;}
开发者ID:lotsopa,项目名称:Lux,代码行数:12,
示例27: GetLastPagelong GetLastPage( char *filename, long fpos, char *data, long numlines ){ long fp; long length, len; long lines = 0; length = (long)GetFileLength( filename ); if ( (fp = (long)gzopen( filename, "r" )) ){ char c, *p, *start; char *mem; long count=0; lines = numlines; mem = (char*)malloc( (2+numlines)*LINELEN ); memset( mem, 0, (2+numlines)*LINELEN ); if ( fpos < 0 ) fpos = 0; gzseek( (gzFile)fp, fpos, SEEK_SET ); //OutDebugs( "In GetLastPage() at fpos %d trying to read %d bytes from %s", fpos, numlines*LINELEN, filename ); if( (len = gzread( (gzFile)fp, mem, numlines*LINELEN ) ) ) { //OutDebugs( "Read %d bytes", len ); mem[len] = 0; if ( fpos == 0 ) // Last Page is the first page too, only 1 page... start = mem; else { p = mem + len -1; start = p; lines++; while( lines>0 && p>mem && (c=*p) ){ if( c=='/r' || c=='/n' ){ lines--; start = p+1; p--; if( *p=='/r' ) p--; } else p--; } } len = (mem+len) - start; memcpy( data, start, len+1 ); } gzclose( (gzFile)fp ); free( mem ); } return length;}
开发者ID:rauls,项目名称:iReporter,代码行数:52,
示例28: GetFilesvoid Ide::IdePaste(String& data){ data.Clear(); if(AcceptFiles(Clipboard())) { Vector<String> s = GetFiles(Clipboard()); for(int i = 0; i < s.GetCount(); i++) if(FileExists(s[i]) && IsTextFile(s[i], 10000)) { int64 len = GetFileLength(s[i]); if(len > 5000000 || data.GetLength() + len < 5000000) data.Cat(LoadFile(s[i])); } }}
开发者ID:kolyden,项目名称:mirror,代码行数:13,
示例29: GlobalMemoryStatusvoid CBZDoc::Serialize(CArchive& ar){ MEMORYSTATUS ms; GlobalMemoryStatus(&ms); CFile *pFile = ar.GetFile(); ar.Flush(); if (ar.IsLoading()) { // TODO: add loading code here m_dwTotal = GetFileLength(pFile);#ifdef FILE_MAPPING if(IsFileMapping()) { if(!MapView()) return; } else#endif //FILE_MAPPING { if(!(m_pData = (LPBYTE)MemAlloc(m_dwTotal))) { AfxMessageBox(IDS_ERR_MALLOC); return; } DWORD len = pFile->Read(m_pData, m_dwTotal); if(len < m_dwTotal) { AfxMessageBox(IDS_ERR_READFILE); MemFree(m_pData); // ###1.61 m_pData = NULL; return; } m_bReadOnly = options.bReadOnlyOpen; } } else { // TODO: add storing code here#ifdef FILE_MAPPING if(IsFileMapping()) { BOOL bResult = (m_pMapStart) ? ::FlushViewOfFile(m_pMapStart, m_dwMapSize) : ::FlushViewOfFile(m_pData, m_dwTotal); if(!bResult) { ErrorMessageBox(); } } else#endif //FILE_MAPPING pFile->Write(m_pData, m_dwTotal); m_dwUndoSaved = m_dwUndo; // ###1.54 TouchDoc(); /* if(m_pUndo) { MemFree(m_pUndo); m_pUndo = NULL; } */ }}
开发者ID:tnzk,项目名称:bz,代码行数:50,
示例30: GetFileLengthbool Player_impl::PlayFrom(long pos){ TStreamTime start_time; start_time.ms = pos; TStreamTime end_time; end_time.ms = GetFileLength(); int ret = player_->PlayLoop(tfMillisecond, &start_time, tfMillisecond, &end_time, 1, 0); if( ret == 1){return true;} else{ LOG(logERROR) << "libzplay::PlayLoop failed error info:" << player_->GetError() << std::endl; return false; }}
开发者ID:ZhuBicen,项目名称:ling-repeater,代码行数:15,
注:本文中的GetFileLength函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GetFileList函数代码示例 C++ GetFileInformationByHandle函数代码示例 |