/*导入相关函数*/ #import "kernel32.dll" int CreateDirectoryW(string directoryName,int type); int CreateFileW(string Filename, int AccessMode, int ShareMode, int PassAsZero, int CreationMode, int FlagsAndAttributes, int AlsoPassAsZero); int WriteFile(int FileHandle, string BufferPtr, int BufferLength, int &BytesWritten[], int PassAsZero); int ReadFile(int FileHandle, uchar &Buffer[], int BufferLength, int & BytesRead[], int PassAsZero); int CloseHandle(int FileHandle); int GetFileSize(int FileHandle, int PassAsZero); #import
/*读文件*/ string ReadFile(string Filename) { string strFileContents = ""; int h = CreateFileW(Filename, 0x80000000 /*GENERIC_READ*/, 3 /*SHARE READ|WRITE*/, 0, 3 /*OPEN_EXISTING*/, 0, 0); if (h == -1) { // Open failed } else { int sz = GetFileSize(h, 0); if (sz > 0) { uchar buffer[]; ArrayResize(buffer, sz); int read[1]; ReadFile(h, buffer, sz, read, 0); if (read[0] == sz) strFileContents = CharArrayToString(buffer, 0, read[0]); } } CloseHandle(h); return strFileContents; }
/*写文件*/ void WriteFile(string filePath,string str) { int BytesWritten[1] = {0}; uchar WriteBuffer[]; StringToCharArray(str, WriteBuffer); int FileHandle = CreateFileW(FileName, 1073741824, 3, 0, 2, 0, 0); WriteFile(FileHandle,WriteBuffer,StringLen(str),BytesWritten,0); CloseHandle(FileHandle); }