estás haciéndolo en C++ y es algo que puede ser complejo, recomiendo el uso de librerías apropiadas para ello...
Código
#include <string>
y yo haría el trim así
Código
string trim(string s){ string::iterator i = s.begin(); string::iterator f = s.end(); while(*i==' ') i++; while(*f==' ') f--; return string(i,f); }
te ahorras un montón de código complicado y los problemas a que char sea limitado... no se olvide que es namespace std