unit1.cpp

来自「网络编程的一些实例」· C++ 代码 · 共 45 行

CPP
45
字号
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include <stdio.h>

#include "Unit1.h"
//---------------------------------------------------------------------------
char* str2url(char *buf, char *str)
{
    char *t;
    int c;
    for (t = buf; *str; str++) {
        if ((c = *str) == ' ')
            *t++ = '+';
        else if (must_encode(c)) {
            sprintf(t, "%%%2X", c);
            t += 3;
        } else {
            *t++ = (char)c;
        }
    }
    *t = '\0';
    return buf;
}
//---------------------------------------------------------------------------
char* url2str(char *url)
{
    int x, y;
    for (x = 0, y = 0; url[y] != '\0'; ++x, ++y) {
        if ((url[x] = url[y]) == '%') {
            url[x] = x2c(url + y + 1);
            y += 2;
        } else if (url[x] == '+')
            url[x] = ' ';
    }
    url[x] = '\0';
    return url;
}
//---------------------------------------------------------------------------
static char x2c(char *hex)
{
    return (char)(X2C(hex[0]) * 16 + X2C(hex[1]));
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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