WindowsXp檔案讀寫模組

2021-06-07 05:50:39 字數 2208 閱讀 6083

//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...