ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
1398002
Adept (29.01.2024 03:16, просмотров: 1025)
чёт туплю по поводу кириллицы в консольном приложении. Среда DevC++ получается херня какая-то :( В консоли вроде кодовая страницы 866, в IDE 1251. Как их подружить - непонятно. Смысл в том, что мне нужно 1 байт на символ (т.е. либо 866, либо 1251 и никаких "юникодов") нужен ввод данных на кириллице и сохранение в файл/чтение из файла так же без изменений на кириллице. 

блуждание по форумам и попытки применения функций SetConsoleCP(1251)/SetConsoleOutputCP(1251)/setlocale(LC_ALL,"Russian")
особо ничего не дают, - остаются "кракозябры", но другие.

Замену файлов компилятора по совету по ссылке - не хочется :(( (кстати попробовал, строго следуя инструкции, - нихрена, другие кракозябры и всё :((

https://kpolyakov.spb.ru/school/c/faq.htm#rus

хочется какого-то надёжного стандартного решения (может какой лёгкий виндовый!! компилятор с полноценной поддержкой 866 в IDE для консольных приложений при вводе/выводе и в файловых операциях.


Заставить работать консоль на CP1251 не получается. компилить исходник в CP866 тоже не выходит. DevC++ привлекает лёгкостью и простотой среды. Да и в VC вроде тоже будут такие же проблемы (или там в исходниках можно 866??). Нужен ввод/вывод данных на кириллице в консольном приложении и 1 байт на буковку. Кто что посоветует??


вот такая херня получается (исходник один и тот же)

с функциями SetConsoleCP(1251)/SetConsoleOutputCP(1251) и разными шрифтами в консолях



без функций SetConsoleCP(1251)/SetConsoleOutputCP(1251) и с разными шрифтами в консолях



смысл всех этих телодвижений - иметь консольное приложение с полноценной поддержкой кириллицы в CP866 или 1251 (ввод и вывод символьных и строковых данных в кириллице (вроде как все файловые функции работают в 1251?) и представление кириллических буковок одним байтом а не богомерзкими "юникодами" :))


P.S. а ещё мож захочу кириллических имён файлов и подкаталогов. Эт говорят для DevC++ вообще прям "злое зло" :(( Так??


P.P.S. полистал форумы на эту тему, пипец, проблема практически у всех (не только на Cpp). кто задумал использовать кириллицу в консольных приложениях, причём есть несколько способов решения, которые работают не у всех, т.е. не на всех системах и конфигурациях :( в итоге гарантированного решения-таки нет. "Это какой-то позор" (С) - не иметь возможности нормально работать с кириллицей в консоли :((

...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)