Пиши свою пользовательскую функцию tolower() для wchar_t:
#include<stdio.h>
#include<wchar.h>
#include<wctype.h>
#include<locale.h>
#include<stdlib.h>
wchar_t abc[]=
L"абвгдеёжзийклмнопрстуфхцчшщьыъэюя";
wchar_t ABC[]=
L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ";
wchar_t word[256]={0};
wchar_t* wtolower(wchar_t *wstr)
{
for(int j = 0; j < wcslen(wstr); j++)
{//for j
if(wcschr(ABC,wstr[j]))
{//if
wchar_t symbol=L'0';
wcsncpy(&symbol,wcschr(ABC,wstr[j]),1);
for(int i = 0; i < wcslen(ABC);i++)
{//for i
if(ABC[i] == symbol)
wstr[j] = abc[i];
}//for i
}//if
}//for j
return wstr;
}
int main()
{
setlocale(LC_ALL,"Russian");
wprintf(L"Введите слово:\n");
wscanf(L"%ls",&word);
wprintf(L"\nРезультат преобразования:\n%ls",wtolower(word));
system("pause"); //для Винды
return 0;
}
