lol! my bad. Well, this is what i have written so far, the function is a part of the whole program but can be used seperately as it just requires input of a string. The probelm so far is that it is now removing all spacces and is not ending the string at the require point, but just keeps whatever is left in the string, you have to compile it to better understand:

int cleanSpace( char s[])
		int j = 0, i = 0, k = 0;        // 'j' is a local integers here which is used while clearing excess white space from the character array 's'.
		for(j = 0; !(s[j] == '\0'); j++)  //This loop converts the new line and tabs into
		{                                          // spaces.
			if (s[j] == '\t' || s[j] == '\n')
				s[j] = ' ';
		if (s[0] == ' ') //This condition searches for any leading whites pace.
			k = 0;            // local variable used for help in the following for loop.
			for (i = 0; i < strlen(s); i++) // converts spaces into following none space
			{                                       // characters.
				if (s[i] != ' ')
        				if (s[i] == '\0')
        					s[k] = '\0';
        				} else {
						s[k] = s[i];
					k++;                 //increase in value of k so as to move on to
				}                              // the next character in the array.
		return strlen(s);  //I try to return the new string length for the given string. Not
	}                               //Successful though!
the function converts:
" widget;Acme \t \n Co.;gear induction\tdevice:\v \n "
"widget;AcmeCo.;gearinductiondevice:\vctiondevice: \v "

it is supposed to terminate the loop after the first \v in the new string, but keeps the previuos one going.