UTF-8, однако. Кодировка с переменной длиной символа и работать с ней в чистом виде очень тяжко.
Никто в здравом уме так не делает. Есть способ проще.
#include <iostream>
#include <iomanip>
#include <locale>
using namespace std;
int main()
{
locale::global(locale(""));
wcout << setw(20) << setiosflags(ios::left) << L"Фамилия" << setw(20) << L"Имя" << setw(20) << L"Адрес" << setw(20) << L"Город" << endl
<< setw(20) << L"Петров" << setw(20) << L"Василий" << setw(20) << L"Кленовая 16" << setw(20) << L"Санкт-Петербурбург" << endl
<< setw(20) << L"Иванов" << setw(20) << L"Сергей" << setw(20) << L"Осиновая 3" << setw(20) << L"Находка" << endl
<< setw(20) << L"Сидоров" << setw(20) << L"Иван" << setw(20) << L"Березовая 21" << setw(20) << L"Калининград" << endl;
return 0;
}