parseget.c
来自「HTML语言的例子」· C语言 代码 · 共 43 行
C
43 行
#include <stdio.h>#include <string.h>#include <malloc.h>#include "parse.h"char *buildget(char *query, int size, char delim, int *len){ register int i; char *gen,hex2c[2]; int length=strlen(query); if(!(gen=malloc(sizeof(char)*(size+1)))) return gen; for(i=0; (*len); i++){ if(i>size+1){ free(gen); return (char *)NULL; } gen[i]=query[length - *len]; --(*len); if((gen[i] == delim) || (gen[i]==EOF)){ gen[i]='\0'; return gen; } if(gen[i]=='+') gen[i]=' '; if(gen[i]=='%'){ hex2c[0]=query[length - *len]; --(*len); hex2c[1]=query[length - *len]; --(*len); gen[i] = (!(isalpha(hex2c[0])) ? (hex2c[0] - '0') : ((hex2c[0] & 0xdf) - 'A' + 10)) << 4; gen[i] += (!(isalpha(hex2c[1])) ? (hex2c[1] - '0') : ((hex2c[1] & 0xdf) - 'A' + 10)); } } gen[i]='\0'; return gen;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?