//----------------------------------------------------------------------- // Function: encodeString // Inputs: original = The original un-encoded string // output_param_name = Parameter name the encoded string will be saved to. // Outputs: <none> // Description: URL Encodes a string. //----------------------------------------------------------------------- void encodeString(const char * original,char * output_param_name) { int counter, out_counter; char * encodedStr = (char *)malloc((strlen(original)*2)+1); // will make sure there is enough room for new string char buffer[4]; // buffer to hold hexidecimal version of the character for(counter=0,out_counter=0;counter<(int)strlen(original);counter++,out_counter++) { if(isalnum(original[counter])) encodedStr[out_counter]=original[counter]; else { sprintf(buffer, "%%%X", original[counter]); //prints %Hex_Value (%20) of the original character //grabs first three characters of the buffer which is the hex value we want encodedStr[out_counter++] = buffer[0]; encodedStr[out_counter++] = buffer[1]; encodedStr[out_counter] = buffer[2]; } } encodedStr[out_counter]='/0'; //end the string lr_save_string(encodedStr,output_param_name); //save string into parameter free(encodedStr); //free memory } http://download.youkuaiyun.com/source/2786519