[ create a new paste ] login | about

Link: http://codepad.org/7Gv8DPel    [ raw code | output | fork ]

anmartex - C++, pasted on Nov 10:
#include <iostream>

char* ReplaceSpacesOnTabs(char* string)
{
    const char CDelim = ':';
    const unsigned CPos = 8;

    unsigned offs = 0;
    char* str = string;
    char* begin;
    char* end;

    while (*str)
    {
        for (; *str && *str != CDelim; ++str) { ; }
        begin = str;

        for (; *str && *str == CDelim; ++str) { ; }
        end = str;

        if (((begin + offs - string) / CPos) < ((end + offs - string) / CPos))
        {
            *begin++ = '\t';
            str = begin;
            offs += end - begin;
            while (*end)
            {
                *begin++ = *end++;
            }
            *begin = 0;
        }
    }

    return string;
}

int main()
{
    char text[] = "Cake::::is::::::a:lie!_:_";

    std::cout << ReplaceSpacesOnTabs(text) << std::endl;

    return 0;
}


Output:
1
Cake	is	a:lie!_	_


Create a new paste based on this one


Comments: