#ifndef __TFILE_H #define __TFILE_H #include //--------------------------------------------------------------------------- // C ½ºÅ¸ÀÏÀÇ ÆÄÀÏ Á¦¾î Ŭ·¡½º. Written by KTS. // - ÀÚµ¿À¸·Î ÆÄÀÏÀÌ ´ÝÈ÷°Ô Çϱâ // - fp ¸¦ »ý·«ÇÒ ¼ö ÀÖ´Ù. class TFILE { public: FILE *fp; public: TFILE() { fp = NULL; } TFILE(String filename, char *mode) { fp = ::fopen(filename.c_str(), mode); } ~TFILE() { if (fp) ::fclose(fp); } int fseek(int ptr, int whence) { return ::fseek(fp, ptr, whence); } int GetFileSize() { int cur = fseek(0, SEEK_CUR); fseek(0, SEEK_END); int filesize = ::ftell(fp); fseek(cur, SEEK_SET); return filesize; } int fread(void *ptr, int size, int pcs) { return ::fread(ptr, size, pcs, fp); } int fwrite(void *ptr, int size, int pcs) { return ::fwrite(ptr, size, pcs, fp); } int fprintf(char* Format, ...) { int n; char buffer[32000]; va_list args; va_start(args, Format); n = vsprintf(buffer, Format, args); va_end(args); return ::fprintf(fp, buffer); } char* fgets(char *buf, int len) { return ::fgets(buf, len, fp); } int fputs(char *buf) { return ::fputs(buf, fp); } void fclose() { if (fp) ::fclose(fp); fp = NULL; } FILE *fopen(String filename, char *mode) { this->fclose(); fp = ::fopen(filename.c_str(), mode); return fp; } // ÇÊ¿äÇÑ °ÍÀº ¾Æ·¡¿¡ ´õ Ãß°¡Çؼ­ »ç¿ë. int flush() { if (fp) return fflush(fp); return 0; } }; #endif