// Ðåçóëüòàò ïîìåùàåòñÿ â òó æå ñòðîêó, ÷òî áûëà ïåðåäàíà â ïàðàìåòðàõ.
void UrlDecode(char *st) {
char *p=st; // óêàçûâàåò íà òåêóùèé ñèìâîë ñòðîêè
char hex[3]; // âðåìåííûé áóôåð äëÿ õðàíåíèÿ %XX
int code; // ïðåîáðàçîâàííûé êîä
// çàïóñêàåì öèêë, ïîêà íå êîí÷èòñÿ ñòðîêà (òî åñòü, ïîêà íå
// ïîÿâèòñÿ ñèìâîë ñ êîäîì 0, ñì. íèæå)
do {
// Åñëè ýòî %-êîä ...
if(*st == '%') { // òîãäà êîïèðóåì åãî âî âðåìåííûé áóôåð
hex[0]=*(++st); hex[1]=*(++st); hex[2]=0;