Top.Mail.Ru
Ответы

[СИ] русские символы

Как работать с русскими символами в чистом СИ? Стоит qt creator.
Setlocate и т. д. - не работают
Мне нужно сделать перевод ру символов на англ и наоборот, транслит
Я вроде написал, но РУ символы не воспринимает, могу сделать перевод англ на англ только...
Что делать?
Может можно сделать обращение через ASCII коды? Но как?
Текущий транслит выглядит так: (работает только с англ буквами)
помогииите что делать хз

По дате
По Рейтингу
Аватар пользователя
Новичок
7лет

Вывод в файл в кодировке UTF-16LE. Добавил спец символ в начале файла для автоматического определения кодировки.

auto f = fopen("C:\\TEMP\\test1.txt", "r+");
wchar_t buf1[] = L"\ufeffПроверка";
fwrite(buf1, 1, sizeof(buf1)-sizeof(*buf1), f);
fclose(f);

Если это не работает, можно попробовать поменять кодировку исходного файла: windows-1251, UTF-16LE, UTF-8. Других вариантов нет. У меня в Visual Studio 2017 работает в кодировке 1251 и в UTF-16. UTF-8 не пробовал.

Аватар пользователя
Мудрец
7лет

setlocale (LC_ALL, ""); ви*би сразу после main(){

Но лучше вот так:
Добавить библиотеку< Windows.h >
И волшебная строчка кода:
SetConsoleCP(1251); SetConsoleOutputCP(1251);

Аватар пользователя
Мыслитель
7лет

void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);