Borderizing Texts by Vim Lover

#include <bits/stdc++.h>
using namespace std;
main()
{
    string line;
    getline(cin,line);
    cout << " _";
    for (int i = 0; i < line.length(); ++i)
    {
        if (line[i]==' ')
        {
            cout << "___";
        }
        else
        {
            cout << '_';
        }
    }
    cout << "_\n| ";
    int l=0;
    for (int i = 0; i < line.length(); ++i)
    {
        if (line[i]==' ')
        {
            l = 0;
            cout << " | ";
        }
        else
        {
            if (l%2 == 0)
            {
                cout << '|';
            }
            else
            {
                cout << ' ';
            }
            l++;
        }
    }
    cout << " |\n| ";
    for (int i = 0; i < line.length(); ++i)
    {
        if (line[i] == ' ')
        {
            cout << " | ";
        }
        else
        {
            cout << line[i];
        }
    }
    cout << " |\n|_";
    l=0;
    for (int i = 0; i < line.length(); ++i)
    {
        if (line[i]==' ')
        {
            l = 0;
            cout << "_|_";
        }
        else
        {
            if (l%2 == 1)
            {
                cout << '|';
            }
            else
            {
                cout << '_';
            }
            l++;
        }
    }
    cout << "_|\n";
}

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page