红色蚂蚁 -- The Red Ant
团结就是力量 -- Union Gives Strength

导航

 
#include <stdio.h>
#include <ctype.h>
#include <string.h>

/*
* encode cd for URL, and saved the result to encd.
* return point to be encoded string.
*/
char *encode( char *cd, char *encd );

int main( int argc, char *argv[] )
{
    if( argc < 2 )
        return -1;

    char encoded[80];

    encode( argv[1], encoded );
    printf( "%s\n", encoded );

    return 0;
}

char *encode( char *cd, char *encd )
{
    if( cd == NULL )
        return ( char* )0;

    int i, j=0;
    char dt[10];
    char *except = ".,:;|\\/_-@()[]";

    for( i = 0; i < strlen( cd ); i++ )
    {
        if( isalnum( cd[i] ) || isblank( cd[i] ) || strchr( except, cd[i] ) )
        {
            encd[j++] = cd[i];
            continue;
        }
        sprintf( dt, "%8x", cd[i] );
        encd[j++] = '%';
        encd[j++] = dt[6];
        encd[j++] = dt[7];
    }
    encd[j] = '\0';

    return encd;
}

posted on 2004-07-03 23:20  红色蚂蚁  阅读(528)  评论(0)    收藏  举报