//windowsxp檔案讀寫模組
//#ifndef __file_op_h__
#define __file_op_h__
#include
#define file_op_api __declspec(dllexport)
file_op_api handle _createfileforread(const wchar_t* _lpszfilename);
file_op_api handle _createfileforwrite(const wchar_t* _lpszfilename);
file_op_api void _setfilepointertobegin(handle _hfile);
file_op_api void _setfilepointertoend(handle _hfile);
file_op_api void _setfilepointertopos(handle _hfile,long _lpos);
file_op_api long _getfilepointerpos(handle _hfile);
file_op_api long _readfile(handle _hfile,void* _lpdata,long _lsize);
file_op_api long _writefile(handle _hfile,void* _lpdata,long _lsize);
file_op_api void _closefile(handle _hfile);
#endif//__file_op_h__
////#include
#include "fileop.h"
#include
file_op_api handle _createfileforread(const wchar_t* _lpszfilename)
hfile = createfile(_lpszfilename,generic_read,file_share_read,0,open_existing,file_attribute_normal,null);
icreatefilecount ++;
}while (invalid_handle_value == hfile && icreatefilecount < 5);
assert (invalid_handle_value != hfile);
if (invalid_handle_value == hfile)
return hfile;
}file_op_api handle _createfileforwrite(const wchar_t* _lpszfilename)
hfile = createfile(_lpszfilename,generic_write,file_share_read,0,create_always,file_attribute_normal,null);
icreatefilecount ++;
}while (invalid_handle_value == hfile && icreatefilecount < 5);
assert (invalid_handle_value != hfile);
if (invalid_handle_value == hfile)
return hfile;
}file_op_api void _setfilepointertobegin(handle _hfile)
}file_op_api void _setfilepointertoend(handle _hfile)
}file_op_api void _setfilepointertopos(handle _hfile,long _lpos)
}file_op_api long _getfilepointerpos(handle _hfile)
return 0;
}file_op_api long _readfile(handle _hfile,void* _lpdata,long _lsize)
return -1;
}return -2;
}file_op_api long _writefile(handle _hfile,void* _lpdata,long _lsize)
return -1;
}return -2;
}file_op_api void _closefile(handle _hfile)}//
shelve模組讀寫檔案報錯
importshelve a shelve.open 1 b 1,2,3 a b b a.close a b during handling of the above exception,another exception occurred 原因是a.close 就已經關閉了shelf檔案。1 sh...
核心模組中對檔案的讀寫
平時網路部分的東西碰的多些,這塊一開始還真不知道怎麼寫,因為肯定和在使用者空間下是不同的。google過後,得到以下答案。一般可以用兩種方法 第一種是用系統呼叫。第二種方法是filp open 等函式。下面分別來說下這兩種方法。1 利用系統呼叫 sys open,sys write,sys read...
核心模組中對檔案的讀寫
平時網路部分的東西碰的多些,這塊一開始還真不知道怎麼寫,因為肯定和在使用者空間下是不同的。google過後,得到以下答案。一般可以用兩種方法 第一種是用系統呼叫。第二種方法是filp open 等函式。下面分別來說下這兩種方法。1 利用系統呼叫 sys open,sys write,sys read...