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

📄 pblkftst.c

📁 B树算法实现
💻 C
📖 第 1 页 / 共 2 页
字号:
            printf( "# rc %ld, pbl_errno %d, errno %d\n", rc, pbl_errno, errno );            fprintf( log, "# rc %ld, pbl_errno %d, errno %d\n",                      rc, pbl_errno, errno );        }        else if( !strcmp( command, "find" ))        {            if( !kf )                continue;            printf( "# find key < LT | LE | FI | EQ | LA | GE | GT >\n" );            fprintf( log, "# find key < LT | LE | FI | EQ | LA | GE | GT >\n" );            getWord( buffer );            getWord( filename );            if( !strcmp( filename, "GT" ))            {                ival = PBLGT;            }            else if( !strcmp( filename, "FI" ))            {                ival = PBLFI;            }            else if( !strcmp( filename, "LA" ))            {                ival = PBLLA;            }            else if( !strcmp( filename, "GE" ))            {                ival = PBLGE;            }            else if( !strcmp( filename, "LE" ))            {                ival = PBLLE;            }            else if( !strcmp( filename, "LT" ))            {                ival = PBLLT;            }            else            {                strcpy( filename, "EQ" );                ival = PBLEQ;            }                     len = strlen( buffer );            printf( "# pblKfFind( %d, %s, %s, %d )\n",                     1, filename, buffer, len + 1 );            fprintf( log, "# pblKfFind( %d, %s, %s, %d )\n",                     1, filename, buffer, len + 1 );            rc = pblKfFind( kf, ival, buffer, len + 1, filename, &ival );            if( rc < 0 )            {                printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno );            }            else            {                printf( "# datalen %ld, key %s, keylen %d\n",                        rc, filename, ival);                fprintf( log, "# datalen %ld, key %s, keylen %d\n",                        rc, filename, ival);            }        }        else if( !strcmp( command, "insert" ))        {            if( !kf )                continue;            printf( "# insert key, data\n" );            fprintf( log, "# insert key, data\n" );            getWord( buffer );            len = strlen( buffer );            getWord( filename );            ival = strlen( filename );            printf( "# pblKfInsert( %d, %s, %d, %s, %d )\n",                     1, buffer, len + 1,                     filename, ival + 1 );            fprintf( log, "# pblKfInsert( %d, %s, %d, %s, %d )\n",                     1, buffer, len + 1,                     filename, ival + 1 );            rc = pblKfInsert( kf, buffer, len + 1,                            filename, (long) ival + 1 );            printf( "# rc %ld, pbl_errno %d, errno %d\n", rc, pbl_errno, errno );            fprintf( log, "# rc %ld, pbl_errno %d, errno %d\n",                      rc, pbl_errno, errno );        }        else if( !strcmp( command, "ninsert" ))        {            if( !kf )                continue;            printf( "# ninsert n, key, data\n" );            fprintf( log, "# ninsert n, key, data\n" );            getWord( command );            ival = atoi( command );            getWord( buffer );            getWord( command );            printf( "# ninsert( %d )\n", ival );            fprintf( log, "# ninsert( %d )\n", ival );            for( i = 0; i < ival; i++ )            {                sprintf( filename, "%s_%d", command, i );                          len = strlen( filename );                ival = strlen( buffer );                rc = pblKfInsert( kf, buffer, ival + 1,                                  filename, (long) len + 1 );                if( rc < 0 )                {                    printf( "# i %d, rc %ld, pbl_errno %d, errno %d\n",                            i, rc, pbl_errno, errno );                    fprintf( log, "# i %d, rc %ld, pbl_errno %d, errno %d\n",                            i, rc, pbl_errno, errno );                    break;                }            }            printf( "# inserted %d records\n", i );            fprintf( log, "# inserted %d records\n", i );        }        else if( !strcmp( command, "ndelete" ))        {            if( !kf )                continue;            printf( "# ndelete n\n" );            fprintf( log, "# ndelete n\n" );            getWord( buffer );            ival = atoi( buffer );            printf( "# ndelete( %d )\n", ival );            fprintf( log, "# ndelete( %d )\n", ival );            for( i = 0; i < ival; i++ )            {                          rc = pblKfDelete( kf );                if( rc < 0 )                {                    printf( "# i %d, rc %ld, pbl_errno %d, errno %d\n",                            i, rc, pbl_errno, errno );                    fprintf( log, "# i %d, rc %ld, pbl_errno %d, errno %d\n",                            i, rc, pbl_errno, errno );                    break;                }            }            printf( "# deleted %d records\n", i );            fprintf( log, "# deleted %d records\n", i );        }        else if( !strcmp( command, "update" ))        {            if( !kf )                continue;            printf( "# update data\n" );            fprintf( log, "# update data\n" );            getWord( buffer );            len = strlen( buffer );            printf( "# pblKfUpdate( %d, %s, %d )\n",                     1, buffer, len + 1 );            fprintf( log, "# pblKfUpdate( %d, %s, %d )\n",                     1, buffer, len + 1 );            rc = pblKfUpdate( kf, buffer, ( long ) len + 1 );            printf( "# rc %ld, pbl_errno %d, errno %d\n", rc, pbl_errno, errno );            fprintf( log, "# rc %ld, pbl_errno %d, errno %d\n",                          rc, pbl_errno, errno );        }        else if( !strcmp( command, "read" ))        {            if( !kf )                continue;            printf( "# pblKfRead( %d )\n", 1 );            fprintf( log, "# pblKfRead( %d )\n", 1 );            rc = pblKfRead( kf, buffer, sizeof( buffer ) );            if( rc < 0 )            {                printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno );            }            else            {                printf( "# datalen %ld, data %s\n", rc, buffer );                fprintf( log, "# datalen %ld, data %s\n", rc, buffer );            }        }        else if( !strcmp( command, "list" ))        {            if( !kf )                continue;            printf( "# list n\n" );            fprintf( log, "# list n\n" );            getWord( buffer );            update = atoi( buffer );            printf( "# list( %d )\n", update );            fprintf( log, "# list( %d )\n", update );            if( update > 0 )            {                rc = pblKfThis( kf, buffer, &ival );                if( rc < 0 )                {                    printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                    fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno);                    continue;                }                else                {                    printf( "# datalen %ld, key %s, keylen %d\n",                            rc, buffer, ival );                    fprintf( log, "# datalen %ld, key %s, keylen %d\n",                            rc, buffer, ival );                }            }            for( i = 1; i < update; i++ )            {                rc = pblKfNext( kf, buffer, &ival );                if( rc < 0 )                {                    printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                    fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno);                    break;                }                else                {                    printf( "# datalen %ld, key %s, keylen %d\n",                            rc, buffer, ival );                    fprintf( log, "# datalen %ld, key %s, keylen %d\n",                            rc, buffer, ival );                }            }        }        else if( !strcmp( command, "first" ))        {            if( !kf )                continue;            printf( "# pblKfFirst( %d )\n", 1 );            fprintf( log, "# pblKfFirst( %d )\n", 1 );            rc = pblKfFirst( kf, buffer, &ival );            if( rc < 0 )            {                printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno );            }            else            {                printf( "# datalen %ld, key %s, keylen %d\n",                        rc, buffer, ival );                fprintf( log, "# datalen %ld, key %s, keylen %d\n",                        rc, buffer, ival );            }        }        else if( !strcmp( command, "next" ))        {            if( !kf )                continue;            printf( "# pblKfNext( %d )\n", 1 );            fprintf( log, "# pblKfNext( %d )\n", 1 );            rc = pblKfNext( kf, buffer, &ival );            if( rc < 0 )            {                printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno );            }            else            {                printf( "# datalen %ld, key %s, keylen %d\n",                         rc, buffer, ival );                fprintf( log, "# datalen %ld, key %s, keylen %d\n",                         rc, buffer, ival );            }        }        else if( !strcmp( command, "last" ))        {            if( !kf )                continue;            printf( "# pblKfLast( %d )\n", 1 );            fprintf( log, "# pblKfLast( %d )\n", 1 );            rc = pblKfLast( kf, buffer, &ival );                        if( rc < 0 )            {                printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno );            }            else            {                printf( "# datalen %ld, key %s, keylen %d\n",                         rc, buffer, ival );                fprintf( log, "# datalen %ld, key %s, keylen %d\n",                         rc, buffer, ival );            }        }        else if( !strcmp( command, "prev" ))        {            if( !kf )                continue;            printf( "# pblKfPrev( %d )\n", 1 );            fprintf( log, "# pblKfPrev( %d )\n", 1 );                        rc = pblKfPrev( kf, buffer, &ival );                        if( rc < 0 )            {                printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno );            }            else            {                printf( "# datalen %ld, key %s, keylen %d\n",                         rc, buffer, ival );                fprintf( log, "# datalen %ld, key %s, keylen %d\n",                         rc, buffer, ival );            }        }        else if( !strcmp( command, "this" ))        {            if( !kf )                continue;            printf( "# pblKfThis( %d )\n", 1 );            fprintf( log, "# pblKfThis( %d )\n", 1 );                        rc = pblKfThis( kf, buffer, &ival );                        if( rc < 0 )            {                printf( "# pbl_errno %d, errno %d\n", pbl_errno, errno );                fprintf( log, "# pbl_errno %d, errno %d\n", pbl_errno, errno );            }            else            {                printf( "# datalen %ld, key %s, keylen %d\n",                         rc, buffer, ival );                fprintf( log, "# datalen %ld, key %s, keylen %d\n",                         rc, buffer, ival );            }        }        else        {            printf( "# q       FOR QUIT\n" );            printf( "# create  <filename>\n" );            printf( "# open    <filename> <update>\n" );            printf( "# close | flush | delete\n" );            printf( "# insert  <key> <data>\n" );            printf( "# ninsert <n> <key> <data>\n" );            printf( "# find    <key> < LT | LE | FI | EQ | LA | GE | GT >\n" );            printf( "# update  <data>\n" );            printf( "# ndelete <n>\n" );            printf( "# first | last | next | prev | this | read\n" );            printf( "# list    <n>\n" );        }    }    return( 0 );}int main( int argc, char * argv[] ){    return( pblKEYFILE_TestFrame( argc, argv ));}

⌨️ 快捷键说明

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