>>283
その程度の仕様っすか。

ならこんなんでええな。
全角空白を半角空白かタブにでも置換してから使うように。

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

void UrlEncode(char *dst, size_t size, const char *src)
{
 size_t iDst;
 size_t iSrc;
 char let;

 for(iSrc = iDst = 0; src[iSrc] != '\0'; ++iSrc) {
  let = src[iSrc];
  if(isalnum(let) || strchr("_-.*", let) != NULL) {
   if(iDst >= size - 1) {
    break;
   }
   dst[iDst] = let;
   ++iDst;
  } else if(let == ' ') {