code:

Can't Copy and Paste this?

Click here for a copy-and-paste friendly version of this code!

 

Terms of Agreement:   

By using this code, you agree to the following terms...   

1) You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for langauges that allow it) freely and with no charge.   

2) You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   

3) You may link to this code from another website, but ONLY if it is not wrapped in a frame. 

4) You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.  

/* +++Date last modified: 05-Jul-1997 */

/*

** TRIM.C - Remove leading, trailing, & excess embedded spaces

**

** public domain by Bob Stout & Michael Dehlwes

*/

#include 

#include "snip_str.h"

#if defined(__cplusplus) && __cplusplus

    extern "C" {

    #endif

    char *trim (char *str)

        {

        char *ibuf, *obuf;

        if (str)

            {

            for (ibuf = obuf = str; *ibuf; )

                {

                while (*ibuf && (isspace (*ibuf)))

                ibuf++;

                if (*ibuf && (obuf != str))

                *(obuf++) = ' ';

                while (*ibuf && (!isspace (*ibuf)))

                *(obuf++) = *(ibuf++);

            }

            *obuf = NUL;

        }

        return (str);

    }

    #if defined(__cplusplus) && __cplusplus

}

#endif

#ifdef TEST

#include 

#include 

int main (int argc, char *argv[])

    {

    if (argc == 2)

        {

        printf ("trim(\"%s\")\n", argv[1]);

        printf ("returned \"%s\"\n", trim (argv[1]));

    }

    else

        {

        fprintf (stderr, "To test this function, call TRIM\n");

        fprintf (stderr, "with an argument enclosed in quotes.\n");

        fprintf (stderr, "Example:\n");

        fprintf (stderr, "C:\\>trim \" testtest\"\n");

        fprintf (stderr, "trim(\" testtest\"\n");

        fprintf (stderr, "returned \"test test\"\n\n");

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

        return EXIT_FAILURE;

    }

    return EXIT_SUCCESS;

}

#endif /* TEST */

 

 

Other 156 submission(s) by this author