/*导入相关函数*/
#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);
}