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

📄 crfile.cpp

📁 根据用户号码和发生时间生成清单并高效建立索引的程序
💻 CPP
字号:
#include "../h/crfile.h"

int main( int argc, char **argv )
{
    int i;
    if ( argc != 4 )
    {
        printf( "Usage: crfile gateway tracefile envfile\n" );
        return ( -1);
    }

    if ( ( ffp = fopen( argv[2], "a+" ) ) == NULL )
    {
        printf( "open tracefile %s err!\n", argv[2] );
        return ( -1);
    }

    if ( i = Get_All_Env( argv[3] ) )
    {
        sprintf( tmpss, "Get_All_Env %s Err! Code=%d=", argv[3], i );
        PTrace( TIMEDEBUG, tmpss );
        return ( -1);
    }
    while ( 1 )
    {
        if ( i = Deal_Proc() )
        {
            sprintf( tmpss, "Deal Proc Err! Code=%d=", i );
            PTrace( TIMEDEBUG, tmpss );
            return ( -1);
        }
        sleep( STime );
    }
    fclose(ffp);
    return (0);
}

int Get_All_Env( char *envfile )
{
    int i;
    char ss[80], dbfile[200];
    char DBName[80], DBSid[80];

    sprintf(tmpss, "\n### Create Meter Bill Program,Complete at 2003-2-14 ###");
    PTrace( DEBUG, tmpss );
    sprintf(tmpss, "########## Copyright 2003 Poson Company. ##########\n");
    PTrace( DEBUG, tmpss );

    strcpy( ss, "LOCAL_CODE" );
    if ( GetEnv( envfile, ss ) )
        return ( -1);
    strcpy( LNet, RtnBuf[0] );

    strcpy( ss, "MODULE_ID" );
    if ( GetEnv( envfile, ss ) )
        return ( -1);
    Module_ID = atoi( RtnBuf[0] );

    strcpy( ss, "SLEEPTIME" );
    if ( GetEnv( envfile, ss ) )
        return ( -1);
    STime = atoi( RtnBuf[0] );

    strcpy( ss, "DATABASEFILE" );
    if ( GetEnv( envfile, ss ) )
        return ( -1);
    strcpy( dbfile, RtnBuf[0] );

    strcpy( ss, "UNAME" );
    if ( GetEnv( dbfile, ss ) )
        return ( -1);
    strcpy( DBName, RtnBuf[0] );

    strcpy( ss, "SID" );
    if ( GetEnv( dbfile, ss ) )
        return ( -1);
    strcpy( DBSid, RtnBuf[0] );

    if ( ConnectDB( DBName, DBSid ) )
        return ( -1);
    if ( Search_Module( Module_ID, LNet ) )
        return ( -1);
    if ( Search_Local_Exchange( LNet ) )
        return ( -2);
    sprintf( tmpss, "LOCAL_CODE=%s=", LNet );
    PTrace( DEBUG, tmpss );
    sprintf( tmpss, "MODULE_ID=%d=", Module_ID );
    PTrace( DEBUG, tmpss );
    sprintf( tmpss, "SLEEPTIME=%d=", STime );
    PTrace( DEBUG, tmpss );
    sprintf( tmpss, "\n###################################################\n" );
    PTrace( DEBUG, tmpss );

    return (0);
}

int Deal_Proc()
{
    int i, j;
    char _ecode[80];
    for ( i = 0;i < Net2Exch.Exch_Num;i++ )
    {
        strcpy( _ecode, Net2Exch.Exchange_Code[i] );
        if ( j = Search_InPut_Tab( _ecode, i ) )
        {
            sprintf( tmpss, "Search Input Tab %s Err! Code=%d=", _ecode, j );
            PTrace( TIMEDEBUG, tmpss );
            return ( -1);
        }
        sprintf( tmpss, "Deal Proc End !!!" );
        PTrace( TIMEDEBUG, tmpss );
    }
    return (0);
}

int Deal_File( char *fname, int _nn )
{
    int i, j;
    long CNums;
    char f1[800], f2[800];
    File_Create _fc;

    sprintf( f1, "%s%s%s", Net2Exch.Exch_Dir[_nn], IN_MDir, fname );
    if ( i = CheckFileSize( f1 ) )
        return (i);
    sprintf( f1, "%s%s", Net2Exch.Exch_Dir[_nn], OUT_MDir );
    if ( _fc.Set_Env( f1 ) )
    {
        sprintf( tmpss, "Set Env OutPut Dir %s Err!", f1 );
        PTrace( TIMEDEBUG, tmpss );
        return ( -1);
    }

    sprintf( f1, "%s%s", Net2Exch.Exch_Dir[_nn], IN_MDir );
    if ( j = _fc.CreateFile( f1, fname ) )
    {
        sprintf( tmpss, "Create File %s%s Err!code=%d=", f1, fname, j );
        PTrace( TIMEDEBUG, tmpss );

        for ( i = 0;i < _fc.CDir_Nums;i++ )
        {
            sprintf( f1, "%s%s", _fc.Complete_Dir[i], fname );
            unlink( f1 );
            j = strlen( f1 );
            f1[j - 4] = 0;
            sprintf( f2, "%s.IDX", f1 );
            unlink( f2 );
        }

        return ( -1);
    }

    strcpy( f1, Net2Exch.Exchange_Code[_nn] );
    FileLen = _fc.File_Lens;
    for ( i = 0;i < _fc.CDir_Nums;i++ )
    {
        strcpy( f2, _fc.Complete_Dir[i] );
        if ( Insert_Complete_Info( f2, fname, f1 ) )
        {
            sprintf( tmpss, "Insert Complete_Info %s %s %s", f2, fname, f1 );
            PTrace( TIMEDEBUG, tmpss );
            return ( -2);
        }
    }

    return (0);
}

⌨️ 快捷键说明

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