Hi,<br> I've included 3 files just read the content , it removes all the white space from a string.<br><br>Thanx<br>Siddhartha Singh<br><A HREF="mailto:ssingh@aztecsoft.com">ssingh@aztecsoft.com</A><br><br><br>#include <ctype.h><br>#include "snip_str.h"<br><br>#if defined(__cplusplus) && __cplusplus<br> extern "C" {<br>#endif<br><br>char *trim (char *str)<br>{<br> char *ibuf, *obuf;<br><br> if (str)<br> {<br> for (ibuf = obuf = str; *ibuf; )<br> {<br> while (*ibuf && (isspace (*ibuf)))<br> ibuf++;<br> if (*ibuf && (obuf != str))<br> *(obuf++) = ' ';<br> while (*ibuf && (!isspace (*ibuf)))<br> *(obuf++) = *(ibuf++);<br> }<br> *obuf = NUL;<br> }<br> return (str);<br>}<br><br>#if defined(__cplusplus) && __cplusplus<br> }<br>#endif<br><br>#ifdef TEST<br><br>#include <stdio.h><br>#include <stdlib.h><br><br>int main (int argc, char *argv[])<br>{<br> if (argc == 2)<br> {<br> printf ("trim(\"%s\"

\n", argv[1]);<br> printf ("returned \"%s\"\n", trim (argv[1]));<br> }<br> else<br> {<br> fprintf (stderr, "To test this function, call TRIM\n"

;<br> fprintf (stderr, "with an argument enclosed in quotes.\n"

;<br> fprintf (stderr, " Example:\n"

;<br> fprintf (stderr, " C:\\>trim \" test test \"\n"

;<br> fprintf (stderr, " trim(\" test test \"\n"

;<br> fprintf (stderr, " returned \"test test\"\n\n"

;<br> fprintf (stderr, " C:\\>_\n"

;<br> return EXIT_FAILURE;<br> }<br> return EXIT_SUCCESS;<br>}<br><br>#endif /* TEST */<br><br><br>// Fule Sniptype.h------------------------------------<br><br>/*<br>** SNIPTYPE.H - Include file for SNIPPETS data types and commonly used macros<br>*/<br><br>#ifndef SNIPTYPE__H<br>#define SNIPTYPE__H<br><br>#include <stdlib.h> /* For free() */<br>#include <string.h> /* For NULL & strlen() */<br><br>typedef enum {Error_ = -1, Success_, False_ = 0, True_} Boolean_T;<br><br>#if !defined(WIN32) && !defined(_WIN32) && !defined(__NT__) \<br> && !defined(_WINDOWS)<br> #if !defined(OS2)<br> typedef unsigned char BYTE;<br> typedef unsigned long DWORD;<br> #endif<br> typedef unsigned short WORD;<br>#else<br> #define WIN32_LEAN_AND_MEAN<br> #define NOGDI<br> #define NOSERVICE<br> #undef INC_OLE1<br> #undef INC_OLE2<br> #include <windows.h><br> #define HUGE<br>#endif<br><br>#define NUL '\0'<br>#define LAST_CHAR(s) (((char *)s)[strlen(s) - 1])<br>#define TOBOOL(x) (!(!(x)))<br>#define FREE(p) (free(p),(p)=NULL)<br><br>#endif /* SNIPTYPE__H */<br><br><br><br><br>------------<br>// Extkword.h file<br><br>/*====================================================================<br><br> _MSC_VER Microsoft C 6.0 and later<br> _QC Microsoft Quick C 2.51 and later<br> __TURBOC__ Borland Turbo C, Turbo C++ and BC++<br> __BORLANDC__ Borland C++<br> __ZTC__ Zortech C and C++<br> __SC__ Symantec C++<br> __WATCOMC__ WATCOM C<br> __POWERC Mix Power C<br> __GNUC__ Gnu C<br><br> Revised:<br><br> 25-Sep-95 Bob Stout Original from PC-PORT.H<br> 30-Mar-96 Ed Blackman OS/2 mods for OS/2 ver 2.0 and up<br> 30-May-96 Andrew Clarke Added support for WATCOM C/C++ __NT__ macro.<br> 17-Jun-96 Bob Stout Added __FLAT__ macros support<br> 20-Aug-96 Bob Stout Eliminate Win32 conflicts<br>======================================================================*/<br><br><br>/* prevent multiple inclusions of this header file */<br><br>#ifndef EXTKWORD__H<br>#define EXTKWORD__H<br><br>#include <limits.h> /* For INT_MAX, LONG_MAX */<br><br>/*<br>** Watcom defines __FLAT__ for 32-bit environments and so will we<br>*/<br><br>#if !defined(__FLAT__) && !defined(__WATCOMC__) && !defined(_MSC_VER)<br> #if defined(__GNUC__)<br> #define __FLAT__ 1<br> #elif defined (_WIN32) ¦¦ defined(WIN32) ¦¦ defined(__NT__)<br> #define __FLAT__ 1<br> #elif defined(__INTSIZE)<br> #if (4 == __INTSIZE)<br> #define __FLAT__ 1<br> #endif<br> #elif (defined(__ZTC__) && !defined(__SC__)) ¦¦ defined(__TURBOC__)<br> #if ((INT_MAX != SHRT_MAX) && (SHRT_MAX == 32767))<br> #define __FLAT__ 1<br> #endif<br> #endif<br>#endif<br><br>/*<br>** Correct extended keywords syntax<br>*/<br><br>#if defined(__OS2__) /* EBB: not sure this works for OS/2 1.x */<br> #include <os2def.h><br> #define INTERRUPT<br> #define HUGE<br>#elif defined(_WIN32) ¦¦ defined(WIN32) ¦¦ defined(__NT__)<br> #define WIN32_LEAN_AND_MEAN<br> #define NOGDI<br> #define NOSERVICE<br> #undef INC_OLE1<br> #undef INC_OLE2<br> #include <windows.h><br> #define INTERRUPT<br> #define HUGE<br>#else /* ! Win 32 or OS/2 */<br> #if (defined(__POWERC) ¦¦ (defined(__TURBOC__) && !defined(__BORLANDC__)) \<br> ¦¦ (defined(__ZTC__) && !defined(__SC__))) && !defined(__FLAT__)<br> #define FAR far<br> #define NEAR near<br> #define PASCAL pascal<br> #define CDECL cdecl<br> #if (defined(__ZTC__) && !defined(__SC__)) ¦¦ (defined(__SC__) && \<br> (__SC__ < 0x700))<br> #define HUGE far<br> #define INTERRUPT<br> #else<br> #define HUGE huge<br> #define INTERRUPT interrupt<br> #endif<br> #else<br> #if (defined(__MSDOS__) ¦¦ defined(MSDOS)) && !defined(__FLAT__)<br> #define FAR _far<br> #define NEAR _near<br> #define HUGE _huge<br> #define PASCAL _pascal<br> #define CDECL _cdecl<br> #define INTERRUPT _interrupt<br> #else<br> #define FAR<br> #define NEAR<br> #define HUGE<br> #define PASCAL<br> #define CDECL<br> #endif<br> #endif<br>#endif<br><br>#endif /* EXTKWORD__H */<br>