⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l_scan.cpp

📁 赤壁之战(游戏原码)
💻 CPP
字号:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <io.h>
#include <sys\types.h>
#include <sys\stat.h>
#include <fcntl.h>

#include "l_scan.h"
#include "assert.h"
#include "ddapi.h"

void  CScan_read::l_scan (int count)//char *fmt, ...)
{
    /*va_list  argptr;
    int     cnt;
    int     count;
    short   onoff=1;

    va_start(argptr, fmt);
    cnt = vsscanf(expand_buf, fmt, argptr);
    count=cnt;*/

	short   onoff=1;
    while(*expand_buf==32||*expand_buf==9)
	{
		expand_buf++;
	}
    while (count)
    {
		if ((*expand_buf==32||*expand_buf==9)&&(onoff))
		{
			count--;
			onoff=0;
		}
		if (*expand_buf!=32&&*expand_buf!=9)
			onoff=1;
		expand_buf++;
    }

    /*va_end(argptr);
    return(count);*/
}

void CScan_read::scan_open (char *filename)
{
    int    handle;
    char   * compress_buf;	    //数据BUFFERS

    handle=open (filename,O_RDONLY|O_BINARY);

    if (handle!=-1)
	 bytes_count=filelength (handle);
    close ( handle );
    if ((Scan_file = fopen (filename,"rb"))==NULL)
    {
	    ErrorMessage ( hwndGame, 255,"Cannot open menu data file: ",filename );
		exit(255);
    }
    if ((compress_buf=new char [bytes_count])==NULL)
    {
		MessageBox ( hwndGame, "Memory Over !!!","Error !!!",MB_OK );
		exit (2);
    }
    fread (compress_buf,1,bytes_count,Scan_file);
    compress_close=compress_buf;
    fclose ( Scan_file );
    scan_expand (compress_buf);

}

void CScan_read::scan_expand (char *compress_buf)
{
    char    * expand_backup;
    if ((expand_buf=new char [bytes_count])==NULL)
    {
		MessageBox( hwndGame, "Memory Over !!!","Error !!!",MB_OK );
		exit (2);
    }
    expand_close=expand_buf;
    expand_backup=expand_buf;
    for (int i=0;i<bytes_count;i++)
    {
		* expand_backup=*compress_buf^34;
		expand_backup++;
		compress_buf++;
    }
}

void CScan_read::scan_close (void)
{
    delete (compress_close);
    delete (expand_close);
}
/*例子:
void main (void)
{
    int inumber,string,tt;
    int s1,s2,s3,s4,s5;
    char  test [255];
    CScan_read	FSCAN;
    FSCAN.scan_open ("system.EXP");
    FSCAN.l_scan (sscanf (FSCAN.expand_buf,%d            %d          %d\n",&string,&tt,&inumber);
    FSCAN.l_scan (sscanf (FSCAN.expand_buf,%d            %d          %d          %d          %d\n",&s1,&s2,&s3,&s4,&s5);
    printf ("%d %d %d\n",string,tt,inumber);
    printf ("%d %d %d %d %d \n",s1,s2,s3,s4,s5);
    FSCAN.scan_close ();
}

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -