- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
fileio.h
资源名称:fileio.zip [点击查看]
上传用户:cy_lbt
上传日期:2021-02-26
资源大小:1k
文件大小:2k
源码类别:
压缩解压
开发平台:
Visual C++
- #ifndef __FILEIO_H__
- #define __FILEIO_H__
- //------------------------------------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- //------------------------------------------------------------------------------
- HANDLE file_handle(CHAR* file_name)
- {
- HANDLE h_file;
- h_file = CreateFile(file_name,
- GENERIC_READ|GENERIC_WRITE,
- FILE_SHARE_READ|FILE_SHARE_WRITE,
- NULL,
- OPEN_ALWAYS,
- 0,
- NULL
- );
- return h_file;
- }
- //------------------------------------------------------------------------------
- WORD load_buffer(HANDLE h_sour, PBUFFER_DATA buffer) // Load file to buffer
- {
- DWORD ret;
- ReadFile(h_sour,buffer->lp_buffer,BUFFERSIZE,&ret,NULL);
- buffer->index = 0;
- buffer->top = (WORD)ret;
- return (WORD)ret;
- }
- //------------------------------------------------------------------------------
- WORD empty_buffer( PLZW_DATA lzw, PBUFFER_DATA buffer)// Output buffer to file
- {
- DWORD ret;
- if(buffer->end_flag) // The flag mark the end of decode
- {
- if( buffer->by_left )
- {
- buffer->lp_buffer[ buffer->index++ ] = (BYTE)( buffer->dw_buffer >> 32-buffer->by_left )<<(8-buffer->by_left);
- }
- }
- WriteFile(lzw->h_dest, buffer->lp_buffer,buffer->index,&ret,NULL);
- buffer->index = 0;
- buffer->top = ret;
- return (WORD)ret;
- }
- //------------------------------------------------------------------------------
- #endif