LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

О проблемах уже написали, но я думаю это именно то что ты ищешь:

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

void right_pad(const wchar_t *name, int pad_size)
{
	wprintf(L"%*ls |\n", pad_size, name);
}

int main()
{
	setlocale(LC_ALL, "");
	right_pad(L"Привет мир!", 30);
	right_pad(L"Hello World!", 30);
	right_pad(L"Довольно длинная строка ...", 30);
	return 0;
}
                   Привет мир! |
                  Hello World! |
   Довольно длинная строка ... |

Откажись от выделения памяти, используй стандартные функции а то у тебя копия wcsdup, для файлов лучше вызывай fopen с «rb» чем «r».

Исправление MOPKOBKA, :

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

void right_pad(const wchar_t *name, int pad_size)
{
	wprintf(L"%*ls |\n", pad_size, name);
}

int main()
{
	setlocale(LC_ALL, "");
	right_pad(L"Привет мир!", 30);
	right_pad(L"Hello World!", 30);
	right_pad(L"Довольно длинная строка ...", 30);
	return 0;
}
                   Привет мир! |
                  Hello World! |
   Довольно длинная строка ... |

Откажись от выделения памяти, используй стандартные функции а то у тебя копия wcsdup, для файлов лучше вызывай fopen с «rb» чем «r».

Исправление MOPKOBKA, :

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

void right_pad(const wchar_t *name, int pad_size)
{
	wprintf(L"%*ls |\n", pad_size, name);
}

int main()
{
	setlocale(LC_ALL, "");
	right_pad(L"Привет мир!", 30);
	right_pad(L"Hello World!", 30);
	right_pad(L"Довольно длинная строка ...", 30);
	return 0;
}
                   Привет мир! |
                  Hello World! |
   Довольно длинная строка ... |

Откажись от выделения памяти, используй стандартные функции а то у тебя копия wcsdup, для файлов лучше вызывай fopen с «rb» чем «r».

Исправление MOPKOBKA, :

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

void right_pad(const wchar_t *name, int pad_size)
{
	wprintf(L"%*ls |\n", pad_size, name);
}

int main()
{
	setlocale(LC_ALL, "");
	right_pad(L"Привет мир!", 30);
	right_pad(L"Hello World!", 30);
	right_pad(L"Довольно длинная строка ...", 30);
	return 0;
}
                   Привет мир! |
                  Hello World! |
   Довольно длинная строка ... |

Откажись от выделения памяти, используй стандартные функции а то у тебя копия wcsdup, для файлов лучше вызывай fopen с «rb» чем «r».

Исправление MOPKOBKA, :

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

void right_pad(const wchar_t *name, int pad_size)
{
	wprintf(L"%*ls |\n", pad_size, name);
}

int main()
{
	setlocale(LC_ALL, "");
	right_pad(L"Привет мир!", 30);
	right_pad(L"Hello World!", 30);
	right_pad(L"Довольно длинная строка ...", 30);
	return 0;
}
                   Привет мир! |
                  Hello World! |
   Довольно длинная строка ... |

Откажись от выделения памяти, используй стандартные функции а то у тебя копия wcsdup, для файлов лучше «rb» чем «r».

Исходная версия MOPKOBKA, :

#include <stdio.h>
#include <wchar.h>
#include <locale.h>

void right_pad(const wchar_t *name, int pad_size)
{
	wprintf(L"%*ls |\n", pad_size, name);
}

int main()
{
	setlocale(LC_ALL, "");
	right_pad(L"Привет мир!", 30);
	right_pad(L"Hello World!", 30);
	right_pad(L"Довольно длинная строка ...", 30);
	return 0;
}
                   Привет мир! |
                  Hello World! |
   Довольно длинная строка ... |