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

📄 getnew.cpp

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

int GetTime( int num )
{
    time_t timer;
    struct tm nowtimer;
    time( &timer );
    timer += num;
    nowtimer = *localtime ( &timer );
    nowtimer.tm_mon++;
    sprintf( optime, "%02u%02u%02u", nowtimer.tm_hour, nowtimer.tm_min ,
             nowtimer.tm_sec );
    sprintf( opdate, "%04u%02u%02u", nowtimer.tm_year + 1900, nowtimer.tm_mon,
             nowtimer.tm_mday );
    return (0);
}

int DeleteSpace( char *ss )
{
    int i;
    i = strlen(ss) - 1;
    while ( i && ss[i] == ' ' )
        i--;
    ss[i + 1] = 0;
    return (0);
}

int DeleteHSpace( char *ss )
{
    int i;
    char ss1[80];
    strcpy( ss1, ss );
    i = 0;
    while ( ss1[i] == ' ' )
        i++;
    strcpy( ss, ss1 + i );
    return (0);
}

int SplitBuf( char *ss, char flag )
{
    int i;
    char *ss0, *ss1;
    i = 0;
    ss0 = ss;
    while ( ( ss1 = strchr( ss0, flag ) ) != NULL )
    {
        *ss1 = 0;
        strcpy( String[i++], ss0 );
        ss0 = ss1 + 1;
        *ss1 = flag;
    }
    strcpy( String[i++], ss0 );
    StrCounts = i;
    return (0);
}

int GetEnv( char *fname, char *comp )
{
    int i;
    FILE *tmpfp;
    char ss[10][80], buf[200];
    if ( ( tmpfp = fopen( fname, "r" ) ) == NULL )
    {
        sprintf( tmpss, "open file %s,%s Err!", fname, comp );
        PTrace( ERRDEBUG, tmpss );
        return ( -1);
    }
    while ( fgets( buf, 200, tmpfp ) != NULL )
    {
        if ( buf[0] == '#' )
            continue;
        sscanf( buf, "%s %s %s %s %s %s", ss[1], ss[2], ss[3], ss[4], ss[5], ss[6] );
        if ( !strcmp( ss[1], comp ) )
        {
            strcpy( RtnBuf[0], ss[2] );
            strcpy( RtnBuf[1], ss[3] );
            strcpy( RtnBuf[2], ss[4] );
            strcpy( RtnBuf[3], ss[5] );
            strcpy( RtnBuf[4], ss[6] );
            fclose( tmpfp );
            return (0);
        }
    }
    fclose( tmpfp );
    sprintf( tmpss, "Search File %s Nothing like %s", fname, comp );
    PTrace( TIMEDEBUG, tmpss );
    return ( -2);
}

int _DirCmpProc( const void *s1, const void *s2 )
{
    char *ss1, *ss2;
    ss1 = ( (Dirbuf *)s1 )->fname;
    ss2 = ( (Dirbuf *)s2 )->fname;
    return ( strcmp(ss1, ss2) );
}

int ReadSortDir( char *dirname, int nums, char *comp, int mark )
{
    int i, j, ll;
    DIR *dirfp;
    struct dirent *sdir;
    struct stat ustat;
    char fname[200];

    if ( (dirfp = opendir( dirname )) == NULL)
        return ( -1 );
    i = 0;
    while ( (sdir = readdir(dirfp)) != NULL )
    {
        if ( !sdir->d_ino )
            continue;
        sprintf(fname, "%s/%s", dirname, sdir->d_name);
        if ( stat(fname, &ustat) )
        {
            closedir(dirfp);
            return ( -2 );
        }
        if ( ustat.st_mode & 0040000 )
            continue;
        ll = strlen( fname );
        j = strlen( comp );
        if ( !mark )
        {
            if ( !strncmp( fname + ll - j, comp, j ) )
                continue;
        }
        else
        {
            if ( strncmp( fname + ll - j, comp, j ) )
                continue;
        }
        if ( !strncmp( fname + ll - 4, ".TMP", 4 ) )
            continue;
        strcpy( DirBuf[i].fname, sdir->d_name );
        i++;
        if ( i >= nums )
            break;
    }
    closedir(dirfp);

    qsort( &DirBuf[0], i, sizeof(struct Dirbuf), _DirCmpProc );
    return ( i );
}

int CheckFileSize( char *fname )
{
    FILE *fp1;
    long fsize1, fsize2;
    char bufs[160], ss1[20];
    if ( ( fp1 = fopen( fname, "r" ) ) == NULL )
    {
        sprintf( tmpss, "open file %s err!", fname );
        PTrace( ERRDEBUG, tmpss );
        return ( -1);
    }
    fseek( fp1, -17L, SEEK_END );
    fsize2 = ftell( fp1 ) + 17;
    if ( fgets( bufs, 160, fp1 ) == NULL )
    {
        sprintf( tmpss, "read file %s err", fname );
        PTrace( ERRDEBUG, tmpss );
        fclose(fp1);
        return ( -2);
    }
    strcpy( ss1, bufs + 4 );
    ss1[12] = 0;
    fsize1 = atol(ss1);
    if ( fsize1 != fsize2 )
        return ( -100);
    fseek( fp1, 0L, SEEK_SET );
    fclose(fp1);
    return (0);
}

/*
int PTrace( int flag,char *Bufs )
{
 char tt[80];
 
     GetTime(0); sprintf( tt,"%s-%s",opdate,optime );
     if( flag == ERRDEBUG ) {
         fprintf( ffp,"********** %s(%d) **********\n",tt,getpid() );
         fprintf( ffp,"%s,errno=%d=\n\n",Bufs,errno );
     } else if( flag == TIMEDEBUG ) {
         fprintf( ffp,"********** %s(%d) **********\n",tt,getpid() );
         fprintf( ffp,"%s\n\n",Bufs );
     } else fprintf( ffp,"%s\n",Bufs );
     fflush(ffp);
 
 return(0);
}
*/

⌨️ 快捷键说明

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